flupp avatar flupp committed 937fa33

refs ticket #24: more flexible options for task button expansion

This commit changes the interpretation of already existing configurations!

Comments (0)

Files changed (6)

applet/SmoothTasks/Applet.cpp

 		  m_iconScale(100),
 		  m_lights(true),
 		  m_expandTasks(false),
-		  m_keepExpanded(ExpandNone),
+		  m_expandActivity(false),
+		  m_expandWorkspace(false),
+		  m_expandNotMinimized(false),
+		  m_expandMaximized(false),
+		  m_expandActive(false),
 		  m_expandOnHover(true),
 		  m_expandOnAttention(false),
 		  m_lightColor(78, 196, 249, 200),
 	m_configA.itemHeight->setValue(m_itemHeight);
 	m_configA.rowAspectRatio->setValue(m_rowAspectRatio);
 
-	m_configA.keepExpanded->addItem(i18n("None"),                     ExpandNone);
-	m_configA.keepExpanded->addItem(i18n("Active"),                   ExpandActive);
-	m_configA.keepExpanded->addItem(i18n("From the current desktop"), ExpandCurrentDesktop);
-	m_configA.keepExpanded->addItem(i18n("All"),                      ExpandAll);
-	m_configA.keepExpanded->setCurrentIndex(m_configA.keepExpanded->findData(m_keepExpanded));
-	
+// 	m_configA.expandActivity->setChecked(m_expandActivity);
+	m_configA.expandWorkspace->setChecked(m_expandWorkspace);
+	m_configA.expandNotMinimized->setChecked(m_expandNotMinimized);
+	m_configA.expandMaximized->setChecked(m_expandMaximized);
+	m_configA.expandActive->setChecked(m_expandActive);
 	m_configA.expandOnHover->setChecked(m_expandOnHover);
 	m_configA.expandOnAttention->setChecked(m_expandOnAttention);
 	
 	connect(m_configG.onlyGroupWhenFull           , SIGNAL(toggled(bool))           , parent, SLOT(settingsModified()));
 	connect(m_configG.middleClickAction           , SIGNAL(currentIndexChanged(int)), parent, SLOT(settingsModified()));
 	connect(m_configA.taskSpacing                 , SIGNAL(valueChanged(int))       , parent, SLOT(settingsModified()));
-	connect(m_configA.keepExpanded                , SIGNAL(currentIndexChanged(int)), parent, SLOT(settingsModified()));
+// 	connect(m_configA.expandActivity              , SIGNAL(toggled(bool))           , parent, SLOT(settingsModified()));
+	connect(m_configA.expandWorkspace             , SIGNAL(toggled(bool))           , parent, SLOT(settingsModified()));
+	connect(m_configA.expandNotMinimized          , SIGNAL(toggled(bool))           , parent, SLOT(settingsModified()));
+	connect(m_configA.expandMaximized             , SIGNAL(toggled(bool))           , parent, SLOT(settingsModified()));
+	connect(m_configA.expandActive                , SIGNAL(toggled(bool))           , parent, SLOT(settingsModified()));
 	connect(m_configA.expandOnHover               , SIGNAL(toggled(bool))           , parent, SLOT(settingsModified()));
 	connect(m_configA.expandOnAttention           , SIGNAL(toggled(bool))           , parent, SLOT(settingsModified()));
 	connect(m_configA.toolTipKind                 , SIGNAL(currentIndexChanged(int)), parent, SLOT(settingsModified()));
 		changed = true;
 	}
 
-	int cfgKeepExpanded = m_configA.keepExpanded->itemData(m_configA.keepExpanded->currentIndex()).toInt();
-	if (cfgKeepExpanded != m_keepExpanded) {
-		cg.writeEntry("keepExpanded", cfgKeepExpanded);
+//	currently libtaskmanager does not tell activity of a task
+// 	if (m_configA.expandActivity->isChecked() != m_expandActivity) {
+// 		cg.writeEntry("expandActivity", m_configA.expandActivity->isChecked());
+// 		changed = true;
+// 	}
+	
+	if (m_configA.expandWorkspace->isChecked() != m_expandWorkspace) {
+		cg.writeEntry("expandWorkspace", m_configA.expandWorkspace->isChecked());
+		changed = true;
+	}
+	
+	if (m_configA.expandNotMinimized->isChecked() != m_expandNotMinimized) {
+		cg.writeEntry("expandNotMinimized", m_configA.expandNotMinimized->isChecked());
+		changed = true;
+	}
+	
+	if (m_configA.expandMaximized->isChecked() != m_expandMaximized) {
+		cg.writeEntry("expandMaximized", m_configA.expandMaximized->isChecked());
+		changed = true;
+	}
+	
+	if (m_configA.expandActive->isChecked() != m_expandActive) {
+		cg.writeEntry("expandActive", m_configA.expandActive->isChecked());
 		changed = true;
 	}
 	
 		setLayout(m_layout);
 	}
 
-	int cfgKeepExpanded = cg.readEntry("keepExpanded", (int) ExpandNone);
-
-	// input validation:
-	switch (cfgKeepExpanded) {
-	case ExpandNone:
-	case ExpandActive:
-	case ExpandCurrentDesktop:
-	case ExpandAll:
-		m_keepExpanded = (ExpandType) cfgKeepExpanded;
-		break;
-	default:
-		kDebug() << "illegal value for keepExpanded: " << cfgKeepExpanded;
-		m_keepExpanded = ExpandNone;
-	}
-	
-	m_expandOnHover     = cg.readEntry("expandOnHover", true);
-	m_expandOnAttention = cg.readEntry("expandOnAttention", false);
+	m_expandActivity     = cg.readEntry("expandActivity"    , false);
+	m_expandWorkspace    = cg.readEntry("expandWorkspace"   , false);
+	m_expandNotMinimized = cg.readEntry("expandNotMinimized", false);
+	m_expandMaximized    = cg.readEntry("expandMaximized"   , false);
+	m_expandActive       = cg.readEntry("expandActive"      , false);
+	m_expandOnHover      = cg.readEntry("expandOnHover"     , true );
+	m_expandOnAttention  = cg.readEntry("expandOnAttention" , false);
 
 	int cfgMiddleClickAction = cg.readEntry("middleClickAction", (int) NoAction);
 	

applet/SmoothTasks/Applet.h

 	bool              isPopupShowing()        const;
 	bool              lights()                const { return m_lights; }
 	bool              expandTasks()           const { return m_expandTasks; }
-	ExpandType        keepExpanded()          const { return m_keepExpanded; }
+	bool              expandActivity()        const { return m_expandActivity; }
+	bool              expandWorkspace()       const { return m_expandWorkspace; }
+	bool              expandNotMinimized()    const { return m_expandNotMinimized; }
+	bool              expandMaximized()       const { return m_expandMaximized; }
+	bool              expandActive()          const { return m_expandActive; }
 	bool              expandOnHover()         const { return m_expandOnHover; }
 	bool              expandOnAttention()     const { return m_expandOnAttention; }
 	qreal             expandedWidth()         const { return m_expandedWidth; }
 	int               m_iconScale;
 	bool              m_lights;
 	int               m_expandTasks;
-	ExpandType        m_keepExpanded;
+	bool              m_expandActivity;
+	bool              m_expandWorkspace;
+	bool              m_expandNotMinimized;
+	bool              m_expandMaximized;
+	bool              m_expandActive;
 	bool              m_expandOnHover;
 	bool              m_expandOnAttention;
 	qreal             m_expandedWidth;

applet/SmoothTasks/Task.cpp

 	return m_abstractItem ? m_abstractItem->isOnAllDesktops() : false;
 }
 
+bool Task::isMaximized() const {
+	return m_abstractItem ? m_abstractItem->isMaximized() : false;
+}
+
 bool Task::isMinimized() const {
 	return m_abstractItem ? m_abstractItem->isMinimized() : false;
 }

applet/SmoothTasks/Task.h

 	bool isActive() const;
 	bool isOnCurrentDesktop() const;
 	bool isOnAllDesktops() const;
+	bool isMaximized() const;
 	bool isMinimized() const;
 	bool demandsAttention() const;
 

applet/SmoothTasks/TaskItem.cpp

 }
 
 bool TaskItem::isExpandedStatic(const TaskManager::AbstractGroupableItem& abstractGroupableItem, const Applet& applet) {
-	if (applet.expandTasks() && abstractGroupableItem.itemType() != TaskManager::LauncherItemType) {
-		switch (applet.keepExpanded()) {
-			case Applet::ExpandNone          : return false;
-			case Applet::ExpandAll           : return true;
-			case Applet::ExpandCurrentDesktop: return abstractGroupableItem.isOnCurrentDesktop() || abstractGroupableItem.isOnAllDesktops();
-			case Applet::ExpandActive        : return abstractGroupableItem.isActive();
-		}
-	}
-	return false;
+	// currently libtaskmanager does not tell activity of a task
+	return
+		   abstractGroupableItem.itemType() != TaskManager::LauncherItemType
+		&& (  (    applet.expandTasks()
+		      && (!applet.expandWorkspace   () ||  abstractGroupableItem.isOnCurrentDesktop() || abstractGroupableItem.isOnAllDesktops())
+		      && (!applet.expandNotMinimized() || !abstractGroupableItem.isMinimized())
+		      && (!applet.expandMaximized   () ||  abstractGroupableItem.isMaximized())
+		      )
+		   || ( applet.expandActive      () &&  abstractGroupableItem.isActive())
+		   || ( applet.expandOnAttention () &&  abstractGroupableItem.demandsAttention())
+		   );
 }
 
 void TaskItem::updateExpansion() {
-	bool staticallyExpanded = false;
-	bool dynamicallyExpanded = false;
+	// currently libtaskmanager does not tell activity of a task
+	bool staticallyExpanded = isExpandedStatic(*m_task->abstractItem(), *m_applet);
+	bool dynamicallyExpanded
+		= m_task->type() != Task::LauncherItem
+		&& (  staticallyExpanded
+		   || (m_applet->expandOnHover() && m_delayedMouseIn)
+		   );
 
-	if (m_applet->expandTasks() && m_task->type() != Task::LauncherItem) {
-		switch (m_applet->keepExpanded()) {
-		case Applet::ExpandNone:
-			staticallyExpanded = false;
-			break;
-		case Applet::ExpandAll:
-			staticallyExpanded = true;
-			break;
-		case Applet::ExpandCurrentDesktop:
-			staticallyExpanded = m_task->isOnCurrentDesktop() || m_task->isOnAllDesktops();
-			break;
-		case Applet::ExpandActive:
-			staticallyExpanded = m_task->isActive();
-			break;
-		}
-		
-		dynamicallyExpanded = staticallyExpanded;
-		if (!staticallyExpanded) {
-			if (m_applet->expandOnHover() && m_delayedMouseIn) {
-				dynamicallyExpanded = true;
-			}
-			if (m_applet->expandOnAttention() && m_task->demandsAttention()) {
-				dynamicallyExpanded = true;
-			}
-		}
-	}
-	
 	qDebug() << "TaskItem::updateExpansion" << " static:" << m_staticallyExpanded << "->" << staticallyExpanded << " dynamic:" << m_dynamicallyExpanded << "->" << dynamicallyExpanded;
 	
 	if (m_staticallyExpanded != staticallyExpanded) {
 		);
 
 	// draw text
-	if (m_applet->expandTasks()) {
+	if (m_dynamicallyExpanded) {
 		const qreal textSep = 5;
 		QRectF textRect(contentsRdRect);
 		if (QApplication::isRightToLeft()) {

applet/SmoothTasks/Ui/Appearance.ui

 <ui version="4.0">
  <class>Appearance</class>
  <widget class="QWidget" name="Appearance">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>485</width>
+    <height>386</height>
+   </rect>
+  </property>
   <property name="windowTitle">
    <string>Appearance</string>
   </property>
   <layout class="QGridLayout" name="gridLayout">
    <item row="0" column="0">
     <widget class="QTabWidget" name="tabWidget">
+     <property name="currentIndex">
+      <number>0</number>
+     </property>
      <widget class="QWidget" name="taskItemsTab">
       <attribute name="title">
        <string>Task Items</string>
       </attribute>
       <layout class="QFormLayout" name="formLayout">
+       <property name="fieldGrowthPolicy">
+        <enum>QFormLayout::ExpandingFieldsGrow</enum>
+       </property>
        <item row="0" column="0">
         <widget class="QLabel" name="spaceLabel">
          <property name="text">
          <property name="text">
           <string>Minimal Icon Space:</string>
          </property>
+         <property name="buddy">
+          <cstring>minIconSpace</cstring>
+         </property>
         </widget>
        </item>
        <item row="1" column="1">
         </widget>
        </item>
        <item row="2" column="0">
+        <widget class="QLabel" name="minButtonWidthLabel">
+         <property name="enabled">
+          <bool>true</bool>
+         </property>
+         <property name="text">
+          <string>Minimal Button Width:</string>
+         </property>
+         <property name="buddy">
+          <cstring>minButtonWidth</cstring>
+         </property>
+        </widget>
+       </item>
+       <item row="2" column="1">
+        <widget class="QSpinBox" name="minButtonWidth">
+         <property name="enabled">
+          <bool>true</bool>
+         </property>
+         <property name="toolTip">
+          <string>&lt;qt&gt;This is the minimal width of a taskbar button which stays expanded (see “Expansion” tab). Keep in mind that the taskbar buttons might not be able to expand fully when there is not enough room.&lt;/qt&gt;</string>
+         </property>
+         <property name="suffix">
+          <string>px</string>
+         </property>
+         <property name="maximum">
+          <number>9999</number>
+         </property>
+        </widget>
+       </item>
+       <item row="3" column="0">
         <widget class="QLabel" name="maxButtonWidthLabel">
          <property name="text">
           <string>Maximal Button Width:</string>
          </property>
+         <property name="buddy">
+          <cstring>maxButtonWidth</cstring>
+         </property>
         </widget>
        </item>
-       <item row="2" column="1">
+       <item row="3" column="1">
         <widget class="QSpinBox" name="maxButtonWidth">
          <property name="suffix">
           <string>px</string>
          </property>
         </widget>
        </item>
-       <item row="3" column="0">
+       <item row="4" column="0">
+        <widget class="QLabel" name="expandingSizeLabel">
+         <property name="enabled">
+          <bool>true</bool>
+         </property>
+         <property name="text">
+          <string>Hover Expansion Size:</string>
+         </property>
+         <property name="buddy">
+          <cstring>expandingSize</cstring>
+         </property>
+        </widget>
+       </item>
+       <item row="5" column="0">
         <widget class="QLabel" name="iconScaleLabel">
          <property name="text">
           <string>&amp;Icon Scale:</string>
          </property>
         </widget>
        </item>
-       <item row="3" column="1">
+       <item row="5" column="1">
         <widget class="QSpinBox" name="iconScale">
          <property name="toolTip">
           <string>&lt;qt&gt;The scale of the task icons in relation to the height/width (whatever is smaller) of the task item.&lt;/qt&gt;</string>
          </property>
         </widget>
        </item>
-       <item row="4" column="1">
+       <item row="6" column="1">
         <widget class="QCheckBox" name="dontRotateFrame">
          <property name="toolTip">
           <string>&lt;qt&gt;For some plasma themes task items might look better when their frames are not rotated. This only concerns vertical layouts, e.g. when you place the taskbar at the left (or right) screen edge.&lt;/qt&gt;</string>
          </property>
         </widget>
        </item>
-       <item row="5" column="1">
+       <item row="7" column="1">
         <widget class="QCheckBox" name="textShadow">
          <property name="text">
           <string>Draw &amp;Text-Shadow</string>
          </property>
         </widget>
        </item>
-       <item row="6" column="1">
+       <item row="8" column="1">
         <widget class="QCheckBox" name="scrollSwitchTasks">
          <property name="text">
           <string>Switch Tasks using &amp;Wheel</string>
          </property>
         </widget>
        </item>
-       <item row="7" column="0" colspan="2">
-        <spacer name="verticalSpacer">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeType">
-          <enum>QSizePolicy::Fixed</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>20</width>
-           <height>5</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-       <item row="8" column="0">
-        <widget class="QCheckBox" name="expandTasks">
-         <property name="font">
-          <font>
-           <weight>75</weight>
-           <bold>true</bold>
-          </font>
-         </property>
-         <property name="text">
-          <string>&amp;Expand Tasks</string>
-         </property>
-        </widget>
-       </item>
-       <item row="9" column="0">
-        <widget class="QLabel" name="expandingSizeLabel">
-         <property name="enabled">
-          <bool>false</bool>
-         </property>
-         <property name="text">
-          <string>E&amp;xpanding Size:</string>
-         </property>
-         <property name="buddy">
-          <cstring>expandingSize</cstring>
-         </property>
-        </widget>
-       </item>
-       <item row="9" column="1">
+       <item row="4" column="1">
         <widget class="QSpinBox" name="expandingSize">
          <property name="enabled">
-          <bool>false</bool>
+          <bool>true</bool>
          </property>
          <property name="toolTip">
-          <string>&lt;qt&gt;This is the width of a taskbar button which is expanded by hover or by attention demand. Keep in mind that the taskbar buttons might not be able to expand fully when there is not enough room.&lt;/qt&gt;</string>
+          <string>&lt;qt&gt;This is the width of a taskbar button which is expanded by hover (see “Expansion” tab). Keep in mind that the taskbar buttons might not be able to expand fully when there is not enough room.&lt;/qt&gt;</string>
          </property>
          <property name="suffix">
           <string>px</string>
          </property>
         </widget>
        </item>
-       <item row="10" column="1">
-        <widget class="QCheckBox" name="expandOnAttention">
+      </layout>
+     </widget>
+     <widget class="QWidget" name="expansionTab">
+      <attribute name="title">
+       <string>Expansion</string>
+      </attribute>
+      <layout class="QFormLayout" name="formLayout_6">
+       <property name="fieldGrowthPolicy">
+        <enum>QFormLayout::ExpandingFieldsGrow</enum>
+       </property>
+       <item row="0" column="0" colspan="2">
+        <widget class="QLabel" name="expansionLabel">
+         <property name="text">
+          <string>Expand a task button if the corresponding window is</string>
+         </property>
+        </widget>
+       </item>
+       <item row="2" column="0">
+        <widget class="QCheckBox" name="expandTasks">
+         <property name="text">
+          <string>and</string>
+         </property>
+        </widget>
+       </item>
+       <item row="2" column="1">
+        <widget class="QCheckBox" name="expandWorkspace">
          <property name="enabled">
           <bool>false</bool>
          </property>
          <property name="text">
-          <string>Expand on &amp;Attention</string>
+          <string>on the current workspace</string>
          </property>
         </widget>
        </item>
-       <item row="11" column="1">
-        <widget class="QCheckBox" name="expandOnHover">
+       <item row="3" column="0">
+        <widget class="QLabel" name="expandNotMinimizedLabel">
+         <property name="text">
+          <string>and</string>
+         </property>
+        </widget>
+       </item>
+       <item row="3" column="1">
+        <widget class="QCheckBox" name="expandNotMinimized">
          <property name="enabled">
           <bool>false</bool>
          </property>
          <property name="text">
-          <string>Expand on &amp;Hover</string>
-         </property>
-         <property name="checked">
-          <bool>true</bool>
+          <string>not minimized</string>
          </property>
         </widget>
        </item>
-       <item row="12" column="0">
-        <widget class="QLabel" name="keepExpandedLabel">
+       <item row="4" column="0">
+        <widget class="QLabel" name="expandMaximizedLabel">
+         <property name="text">
+          <string>and</string>
+         </property>
+        </widget>
+       </item>
+       <item row="4" column="1">
+        <widget class="QCheckBox" name="expandMaximized">
          <property name="enabled">
           <bool>false</bool>
          </property>
          <property name="text">
-          <string>&amp;Keep Expanded:</string>
-         </property>
-         <property name="buddy">
-          <cstring>keepExpanded</cstring>
+          <string>maximized</string>
          </property>
         </widget>
        </item>
-       <item row="12" column="1">
-        <widget class="QComboBox" name="keepExpanded">
-         <property name="enabled">
-          <bool>false</bool>
-         </property>
-         <property name="minimumSize">
-          <size>
-           <width>200</width>
-           <height>0</height>
-          </size>
-         </property>
-         <property name="sizeAdjustPolicy">
-          <enum>QComboBox::AdjustToContentsOnFirstShow</enum>
+       <item row="5" column="0">
+        <widget class="QLabel" name="expandActiveLabel">
+         <property name="text">
+          <string>or</string>
          </property>
         </widget>
        </item>
-       <item row="13" column="0">
-        <widget class="QLabel" name="minButtonWidthLabel">
-         <property name="enabled">
-          <bool>false</bool>
-         </property>
+       <item row="5" column="1">
+        <widget class="QCheckBox" name="expandActive">
          <property name="text">
-          <string>Minimal Button Width:</string>
+          <string>active</string>
          </property>
         </widget>
        </item>
-       <item row="13" column="1">
-        <widget class="QSpinBox" name="minButtonWidth">
-         <property name="enabled">
-          <bool>false</bool>
+       <item row="6" column="0">
+        <widget class="QLabel" name="expandOnAttentionLabel">
+         <property name="text">
+          <string>or</string>
          </property>
-         <property name="toolTip">
-          <string>&lt;qt&gt;This is the minimal width of a taskbar button which stays expanded (see “Keep Expanded”). Keep in mind that the taskbar buttons might not be able to expand fully when there is not enough room.&lt;/qt&gt;</string>
+        </widget>
+       </item>
+       <item row="6" column="1">
+        <widget class="QCheckBox" name="expandOnAttention">
+         <property name="text">
+          <string>demanding attention</string>
          </property>
-         <property name="suffix">
-          <string>px</string>
+        </widget>
+       </item>
+       <item row="7" column="0">
+        <widget class="QLabel" name="expandOnHoverLabel">
+         <property name="text">
+          <string>or</string>
          </property>
-         <property name="maximum">
-          <number>9999</number>
+        </widget>
+       </item>
+       <item row="7" column="1">
+        <widget class="QCheckBox" name="expandOnHover">
+         <property name="text">
+          <string>the task button is hovered</string>
          </property>
         </widget>
        </item>
   <tabstop>tabWidget</tabstop>
   <tabstop>taskSpacing</tabstop>
   <tabstop>minIconSpace</tabstop>
+  <tabstop>minButtonWidth</tabstop>
   <tabstop>maxButtonWidth</tabstop>
+  <tabstop>expandingSize</tabstop>
   <tabstop>iconScale</tabstop>
   <tabstop>dontRotateFrame</tabstop>
   <tabstop>textShadow</tabstop>
   <tabstop>scrollSwitchTasks</tabstop>
   <tabstop>expandTasks</tabstop>
-  <tabstop>expandingSize</tabstop>
+  <tabstop>expandWorkspace</tabstop>
+  <tabstop>expandNotMinimized</tabstop>
+  <tabstop>expandMaximized</tabstop>
+  <tabstop>expandActive</tabstop>
   <tabstop>expandOnAttention</tabstop>
   <tabstop>expandOnHover</tabstop>
-  <tabstop>keepExpanded</tabstop>
-  <tabstop>minButtonWidth</tabstop>
   <tabstop>minimumRows</tabstop>
   <tabstop>maximumRows</tabstop>
   <tabstop>taskbarLayout</tabstop>
  <resources/>
  <connections>
   <connection>
-   <sender>expandTasks</sender>
-   <signal>toggled(bool)</signal>
-   <receiver>expandingSize</receiver>
-   <slot>setEnabled(bool)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>134</x>
-     <y>254</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>230</x>
-     <y>272</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>expandTasks</sender>
-   <signal>toggled(bool)</signal>
-   <receiver>keepExpanded</receiver>
-   <slot>setEnabled(bool)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>150</x>
-     <y>255</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>354</x>
-     <y>380</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>expandTasks</sender>
-   <signal>toggled(bool)</signal>
-   <receiver>keepExpandedLabel</receiver>
-   <slot>setEnabled(bool)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>81</x>
-     <y>254</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>150</x>
-     <y>375</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>expandTasks</sender>
-   <signal>toggled(bool)</signal>
-   <receiver>expandingSizeLabel</receiver>
-   <slot>setEnabled(bool)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>61</x>
-     <y>254</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>125</x>
-     <y>286</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>expandTasks</sender>
-   <signal>toggled(bool)</signal>
-   <receiver>expandOnHover</receiver>
-   <slot>setEnabled(bool)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>87</x>
-     <y>254</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>215</x>
-     <y>351</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>expandTasks</sender>
-   <signal>toggled(bool)</signal>
-   <receiver>expandOnAttention</receiver>
-   <slot>setEnabled(bool)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>77</x>
-     <y>254</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>207</x>
-     <y>324</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
    <sender>lightAnchorHorizontalEnabled</sender>
    <signal>toggled(bool)</signal>
    <receiver>lightAnchorHorizontal</receiver>
      <y>168</y>
     </hint>
     <hint type="destinationlabel">
-     <x>330</x>
-     <y>179</y>
+     <x>429</x>
+     <y>169</y>
     </hint>
    </hints>
   </connection>
    <slot>setEnabled(bool)</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>215</x>
-     <y>206</y>
+     <x>263</x>
+     <y>205</y>
     </hint>
     <hint type="destinationlabel">
-     <x>276</x>
-     <y>213</y>
+     <x>429</x>
+     <y>206</y>
     </hint>
    </hints>
   </connection>
    <slot>setValue(int)</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>358</x>
-     <y>228</y>
+     <x>457</x>
+     <y>219</y>
     </hint>
     <hint type="destinationlabel">
      <x>322</x>
      <y>199</y>
     </hint>
     <hint type="destinationlabel">
-     <x>358</x>
-     <y>218</y>
+     <x>457</x>
+     <y>219</y>
     </hint>
    </hints>
   </connection>
    <slot>setEnabled(bool)</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>198</x>
-     <y>55</y>
+     <x>206</x>
+     <y>52</y>
     </hint>
     <hint type="destinationlabel">
      <x>202</x>
      <y>45</y>
     </hint>
     <hint type="destinationlabel">
-     <x>237</x>
-     <y>136</y>
+     <x>247</x>
+     <y>130</y>
     </hint>
    </hints>
   </connection>
      <y>40</y>
     </hint>
     <hint type="destinationlabel">
-     <x>44</x>
-     <y>160</y>
+     <x>52</x>
+     <y>158</y>
     </hint>
    </hints>
   </connection>
    <slot>setEnabled(bool)</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>118</x>
-     <y>170</y>
+     <x>210</x>
+     <y>168</y>
     </hint>
     <hint type="destinationlabel">
-     <x>126</x>
-     <y>248</y>
+     <x>217</x>
+     <y>246</y>
     </hint>
    </hints>
   </connection>
    <slot>setEnabled(bool)</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>137</x>
-     <y>207</y>
+     <x>229</x>
+     <y>205</y>
     </hint>
     <hint type="destinationlabel">
-     <x>358</x>
-     <y>218</y>
+     <x>457</x>
+     <y>219</y>
     </hint>
    </hints>
   </connection>
      <y>46</y>
     </hint>
     <hint type="destinationlabel">
-     <x>184</x>
-     <y>208</y>
+     <x>263</x>
+     <y>205</y>
     </hint>
    </hints>
   </connection>
    <slot>setVisible(bool)</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>359</x>
-     <y>57</y>
+     <x>367</x>
+     <y>52</y>
     </hint>
     <hint type="destinationlabel">
-     <x>330</x>
-     <y>179</y>
+     <x>429</x>
+     <y>169</y>
     </hint>
    </hints>
   </connection>
      <y>49</y>
     </hint>
     <hint type="destinationlabel">
-     <x>330</x>
-     <y>217</y>
+     <x>429</x>
+     <y>206</y>
     </hint>
    </hints>
   </connection>
    <slot>setVisible(bool)</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>359</x>
-     <y>57</y>
+     <x>367</x>
+     <y>52</y>
     </hint>
     <hint type="destinationlabel">
-     <x>358</x>
-     <y>191</y>
+     <x>457</x>
+     <y>219</y>
     </hint>
    </hints>
   </connection>
   <connection>
    <sender>expandTasks</sender>
    <signal>toggled(bool)</signal>
-   <receiver>minButtonWidthLabel</receiver>
+   <receiver>expandWorkspace</receiver>
    <slot>setEnabled(bool)</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>42</x>
-     <y>258</y>
+     <x>65</x>
+     <y>151</y>
     </hint>
     <hint type="destinationlabel">
-     <x>42</x>
-     <y>402</y>
+     <x>80</x>
+     <y>152</y>
     </hint>
    </hints>
   </connection>
   <connection>
    <sender>expandTasks</sender>
    <signal>toggled(bool)</signal>
-   <receiver>minButtonWidth</receiver>
+   <receiver>expandNotMinimized</receiver>
    <slot>setEnabled(bool)</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>52</x>
-     <y>254</y>
+     <x>36</x>
+     <y>151</y>
     </hint>
     <hint type="destinationlabel">
-     <x>204</x>
-     <y>401</y>
+     <x>97</x>
+     <y>177</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>expandTasks</sender>
+   <signal>toggled(bool)</signal>
+   <receiver>expandMaximized</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>24</x>
+     <y>153</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>87</x>
+     <y>203</y>
     </hint>
    </hints>
   </connection>
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.