Alphabetize applications on taskbar when requested in taskbar configuration module

Resort applications on taskbar sorting configuration option change
pull/2/head
Timothy Pearson 11 years ago
parent 300974c2a5
commit fe303335da

@ -81,6 +81,7 @@ TaskBar::TaskBar( TaskBarSettings* settingsObject, TaskBarSettings* globalSettin
// init
setSizePolicy( TQSizePolicy( TQSizePolicy::Expanding, TQSizePolicy::Expanding ) );
m_sortByAppPrev = READ_MERGED_TASBKAR_SETTING(sortByApp);
// setup animation frames
for (int i = 1; i < 11; i++)
@ -293,6 +294,11 @@ void TaskBar::configure()
}
}
if (m_sortByAppPrev != READ_MERGED_TASBKAR_SETTING(sortByApp)) {
m_sortByAppPrev = READ_MERGED_TASBKAR_SETTING(sortByApp);
reSort();
}
TaskManager::the()->setXCompositeEnabled(READ_MERGED_TASBKAR_SETTING(showThumbnails));
reLayoutEventually();
@ -390,6 +396,24 @@ void TaskBar::add(Startup::Ptr startup)
connect(container, TQT_SIGNAL(showMe(TaskContainer*)), this, TQT_SLOT(showTaskContainer(TaskContainer*)));
}
void TaskBar::reSort()
{
TaskContainer::List originalContainers = containers;
TaskContainer::Iterator it = originalContainers.begin();
for (; it != originalContainers.end(); ++it)
{
removeChild(*it);
}
containers.clear();
it = originalContainers.begin();
for (; it != originalContainers.end(); ++it)
{
showTaskContainer(*it);
}
reLayoutEventually();
emit containerCountChanged();
}
void TaskBar::showTaskContainer(TaskContainer* container)
{
TaskContainer::List::iterator it = m_hiddenContainers.find(container);
@ -427,6 +451,16 @@ void TaskBar::showTaskContainer(TaskContainer* container)
}
}
// alphabetize containers
it = containers.begin();
for (; it != containers.end(); ++it)
{
TaskContainer* c = *it;
if (TQString::localeAwareCompare(container->id().lower(), c->id().lower()) < 0) {
break;
}
}
if (it != containers.end())
{
containers.insert(it, container);

@ -90,6 +90,7 @@ protected slots:
void slotActivatePreviousTask();
void slotSettingsChanged(int);
void reLayout();
void reSort();
protected:
void reLayoutEventually();
@ -130,6 +131,7 @@ private:
TDEGlobalAccel* keys;
KTextShadowEngine* m_textShadowEngine;
bool m_ignoreUpdates;
bool m_sortByAppPrev;
TQTimer m_relayoutTimer;
TQImage m_blendGradient;
TaskBarSettings* m_settingsObject;

Loading…
Cancel
Save