aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfjs-github <freds@vailsys.com>2017-05-11 12:18:55 -0500
committerfjs-github <freds@vailsys.com>2017-05-11 12:18:55 -0500
commit3d6070778674e4c22134af0c48eb3f0bd40a38e1 (patch)
tree5bbeb22a27a191ba114794ffb7a5d678c78e4dc2
parentMerge remote-tracking branch 'origin/master' (diff)
downloadlumina-3d6070778674e4c22134af0c48eb3f0bd40a38e1.tar.gz
lumina-3d6070778674e4c22134af0c48eb3f0bd40a38e1.tar.bz2
lumina-3d6070778674e4c22134af0c48eb3f0bd40a38e1.zip
Summary:
The workspace information wasn't getting updated in the workspace-switcher-panel-plugin(wsp) when the workspace was changed via keyboard-shortcut, for example <ctrl-F2> etc. Specifically, the tooltip for the wsp would show the incorrect number for the current workspace. Details: The wsp menu always did indicate the correct workspace number because the user has to click on the wsp to display the menu. The click-action sends a signal which updates the workspace info in the menu. But, the tooltip doesn't necessarily display the correct workspace number unless the user clicks on a workspace in the menu. To reproduce the problem: 1. The current workspace is workspace 1. 2. Change to a different workspace via keyboard-shortcut, for example <ctrl-F2>. 3. Mouse-hover over the wsp and the tooltip displays the previous workspace number which is incorrect. Code Changes: The code changes are small and limited to the two source files in the desktopswitcher subdir.
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-DE/panel-plugins/desktopswitcher/LDesktopSwitcher.cpp12
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-DE/panel-plugins/desktopswitcher/LDesktopSwitcher.h1
-rw-r--r--src-qt5/core/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.cpp10
-rw-r--r--src-qt5/core/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.h1
4 files changed, 19 insertions, 5 deletions
diff --git a/src-qt5/core/lumina-desktop-unified/src-DE/panel-plugins/desktopswitcher/LDesktopSwitcher.cpp b/src-qt5/core/lumina-desktop-unified/src-DE/panel-plugins/desktopswitcher/LDesktopSwitcher.cpp
index c51e4b4a..8e0a9d28 100644
--- a/src-qt5/core/lumina-desktop-unified/src-DE/panel-plugins/desktopswitcher/LDesktopSwitcher.cpp
+++ b/src-qt5/core/lumina-desktop-unified/src-DE/panel-plugins/desktopswitcher/LDesktopSwitcher.cpp
@@ -15,7 +15,7 @@ LDesktopSwitcher::LDesktopSwitcher(QWidget *parent, QString id, bool horizontal)
label->setPopupMode(QToolButton::DelayedPopup);
label->setAutoRaise(true);
label->setToolButtonStyle(Qt::ToolButtonIconOnly);
- label->setIcon( LXDG::findIcon("preferences-desktop-display-color", "") );
+ label->setIcon( LXDG::findIcon("format-view-carousel", "preferences-desktop-display") );
label->setToolTip(QString("Workspace 1"));
connect(label, SIGNAL(clicked()), this, SLOT(openMenu()));
menu = new QMenu(this);
@@ -29,6 +29,9 @@ LDesktopSwitcher::LDesktopSwitcher(QWidget *parent, QString id, bool horizontal)
QTimer::singleShot(500, this, SLOT(createMenu()) ); //needs a delay to make sure it works right the first time
QTimer::singleShot(0,this, SLOT(OrientationChange()) ); //adjust icon size
+
+ //Process the signal which is sent when the workspace is changed via keyboard-shortcuts
+ connect(QApplication::instance(), SIGNAL(WorkspaceChanged()), this, SLOT(updateWorkspaceMenu()));
}
LDesktopSwitcher::~LDesktopSwitcher(){
@@ -133,10 +136,13 @@ void LDesktopSwitcher::createMenu() {
if(i == cur){ name.prepend("*"); name.append("*");} //identify which desktop this is currently
menu->addAction(newAction(i, name));
}
+ label->setToolTip(QString(tr("Workspace %1")).arg(QString::number(cur + 1)));
}
void LDesktopSwitcher::menuActionTriggered(QAction* act) {
LSession::handle()->XCB->SetCurrentWorkspace(act->whatsThis().toInt());
- label->setToolTip(QString(tr("Workspace %1")).arg(act->whatsThis().toInt() +1));
- QTimer::singleShot(500, this, SLOT(createMenu()) ); //make sure the menu gets updated
+}
+
+void LDesktopSwitcher::updateWorkspaceMenu() {
+ createMenu();
}
diff --git a/src-qt5/core/lumina-desktop-unified/src-DE/panel-plugins/desktopswitcher/LDesktopSwitcher.h b/src-qt5/core/lumina-desktop-unified/src-DE/panel-plugins/desktopswitcher/LDesktopSwitcher.h
index af9250b7..69fe46da 100644
--- a/src-qt5/core/lumina-desktop-unified/src-DE/panel-plugins/desktopswitcher/LDesktopSwitcher.h
+++ b/src-qt5/core/lumina-desktop-unified/src-DE/panel-plugins/desktopswitcher/LDesktopSwitcher.h
@@ -49,6 +49,7 @@ private slots:
void openMenu();
void createMenu();
void menuActionTriggered(QAction*);
+ void updateWorkspaceMenu();
public slots:
void LocaleChange(){
diff --git a/src-qt5/core/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.cpp b/src-qt5/core/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.cpp
index a0c42774..8e0a9d28 100644
--- a/src-qt5/core/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.cpp
+++ b/src-qt5/core/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.cpp
@@ -29,6 +29,9 @@ LDesktopSwitcher::LDesktopSwitcher(QWidget *parent, QString id, bool horizontal)
QTimer::singleShot(500, this, SLOT(createMenu()) ); //needs a delay to make sure it works right the first time
QTimer::singleShot(0,this, SLOT(OrientationChange()) ); //adjust icon size
+
+ //Process the signal which is sent when the workspace is changed via keyboard-shortcuts
+ connect(QApplication::instance(), SIGNAL(WorkspaceChanged()), this, SLOT(updateWorkspaceMenu()));
}
LDesktopSwitcher::~LDesktopSwitcher(){
@@ -133,10 +136,13 @@ void LDesktopSwitcher::createMenu() {
if(i == cur){ name.prepend("*"); name.append("*");} //identify which desktop this is currently
menu->addAction(newAction(i, name));
}
+ label->setToolTip(QString(tr("Workspace %1")).arg(QString::number(cur + 1)));
}
void LDesktopSwitcher::menuActionTriggered(QAction* act) {
LSession::handle()->XCB->SetCurrentWorkspace(act->whatsThis().toInt());
- label->setToolTip(QString(tr("Workspace %1")).arg(act->whatsThis().toInt() +1));
- QTimer::singleShot(500, this, SLOT(createMenu()) ); //make sure the menu gets updated
+}
+
+void LDesktopSwitcher::updateWorkspaceMenu() {
+ createMenu();
}
diff --git a/src-qt5/core/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.h b/src-qt5/core/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.h
index af9250b7..69fe46da 100644
--- a/src-qt5/core/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.h
+++ b/src-qt5/core/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.h
@@ -49,6 +49,7 @@ private slots:
void openMenu();
void createMenu();
void menuActionTriggered(QAction*);
+ void updateWorkspaceMenu();
public slots:
void LocaleChange(){
bgstack15