Changeset View
Changeset View
Standalone View
Standalone View
libtaskmanager/tasksmodel.cpp
Show First 20 Lines • Show All 881 Lines • ▼ Show 20 Line(s) | 832 | { | |||
---|---|---|---|---|---|
882 | switch (sortMode) { | 882 | switch (sortMode) { | ||
883 | case SortVirtualDesktop: { | 883 | case SortVirtualDesktop: { | ||
884 | const bool leftAll = left.data(AbstractTasksModel::IsOnAllVirtualDesktops).toBool(); | 884 | const bool leftAll = left.data(AbstractTasksModel::IsOnAllVirtualDesktops).toBool(); | ||
885 | const bool rightAll = right.data(AbstractTasksModel::IsOnAllVirtualDesktops).toBool(); | 885 | const bool rightAll = right.data(AbstractTasksModel::IsOnAllVirtualDesktops).toBool(); | ||
886 | 886 | | |||
887 | if (leftAll && !rightAll) { | 887 | if (leftAll && !rightAll) { | ||
888 | return true; | 888 | return true; | ||
889 | } else if (rightAll && !leftAll) { | 889 | } else if (rightAll && !leftAll) { | ||
890 | return true; | 890 | return false; | ||
891 | } | 891 | } | ||
892 | 892 | | |||
893 | if (!(leftAll && rightAll)) { | ||||
893 | const QVariantList &leftDesktops = left.data(AbstractTasksModel::VirtualDesktops).toList(); | 894 | const QVariantList &leftDesktops = left.data(AbstractTasksModel::VirtualDesktops).toList(); | ||
894 | QVariant leftDesktop; | 895 | QVariant leftDesktop; | ||
895 | int leftDesktopPos = virtualDesktopInfo->numberOfDesktops(); | 896 | int leftDesktopPos = virtualDesktopInfo->numberOfDesktops(); | ||
896 | 897 | | |||
897 | for (const QVariant &desktop : leftDesktops) { | 898 | for (const QVariant &desktop : leftDesktops) { | ||
898 | const int desktopPos = virtualDesktopInfo->position(desktop); | 899 | const int desktopPos = virtualDesktopInfo->position(desktop); | ||
899 | 900 | | |||
900 | if (desktopPos < leftDesktopPos) { | 901 | if (desktopPos <= leftDesktopPos) { | ||
901 | leftDesktop = desktop; | 902 | leftDesktop = desktop; | ||
902 | leftDesktopPos = desktopPos; | 903 | leftDesktopPos = desktopPos; | ||
903 | } | 904 | } | ||
904 | } | 905 | } | ||
905 | 906 | | |||
906 | const QVariantList &rightDesktops = right.data(AbstractTasksModel::VirtualDesktops).toList(); | 907 | const QVariantList &rightDesktops = right.data(AbstractTasksModel::VirtualDesktops).toList(); | ||
907 | QVariant rightDesktop; | 908 | QVariant rightDesktop; | ||
908 | int rightDesktopPos = virtualDesktopInfo->numberOfDesktops(); | 909 | int rightDesktopPos = virtualDesktopInfo->numberOfDesktops(); | ||
909 | 910 | | |||
910 | for (const QVariant &desktop : rightDesktops) { | 911 | for (const QVariant &desktop : rightDesktops) { | ||
911 | const int desktopPos = virtualDesktopInfo->position(desktop); | 912 | const int desktopPos = virtualDesktopInfo->position(desktop); | ||
912 | 913 | | |||
913 | if (desktopPos < rightDesktopPos) { | 914 | if (desktopPos <= rightDesktopPos) { | ||
914 | rightDesktop = desktop; | 915 | rightDesktop = desktop; | ||
915 | rightDesktopPos = desktopPos; | 916 | rightDesktopPos = desktopPos; | ||
916 | } | 917 | } | ||
917 | } | 918 | } | ||
918 | 919 | | |||
919 | if (!leftDesktop.isNull() && !rightDesktop.isNull() && (leftDesktop != rightDesktop)) { | 920 | if (!leftDesktop.isNull() && !rightDesktop.isNull() && (leftDesktop != rightDesktop)) { | ||
920 | return (virtualDesktopInfo->position(leftDesktop) < virtualDesktopInfo->position(rightDesktop)); | 921 | return (virtualDesktopInfo->position(leftDesktop) < virtualDesktopInfo->position(rightDesktop)); | ||
921 | } else if (!leftDesktop.isNull() && rightDesktop.isNull()) { | 922 | } else if (!leftDesktop.isNull() && rightDesktop.isNull()) { | ||
922 | return false; | 923 | return false; | ||
923 | } else if (leftDesktop.isNull() && !rightDesktop.isNull()) { | 924 | } else if (leftDesktop.isNull() && !rightDesktop.isNull()) { | ||
924 | return true; | 925 | return true; | ||
925 | } | 926 | } | ||
926 | | ||||
927 | return false; | | |||
928 | } | 927 | } | ||
928 | } | ||||
929 | // fall through | ||||
929 | case SortActivity: { | 930 | case SortActivity: { | ||
930 | // updateActivityTaskCounts() counts the number of window tasks on each | 931 | // updateActivityTaskCounts() counts the number of window tasks on each | ||
931 | // activity. This will sort tasks by comparing a cumulative score made | 932 | // activity. This will sort tasks by comparing a cumulative score made | ||
932 | // up of the task counts for each acvtivity a task is assigned to, and | 933 | // up of the task counts for each acvtivity a task is assigned to, and | ||
933 | // otherwise fall through to alphabetical sorting. | 934 | // otherwise fall through to alphabetical sorting. | ||
934 | int leftScore = -1; | 935 | int leftScore = -1; | ||
935 | int rightScore = -1; | 936 | int rightScore = -1; | ||
936 | 937 | | |||
▲ Show 20 Lines • Show All 1002 Lines • Show Last 20 Lines |