Skip to content

Commit ddff554

Browse files
spilthtimlinux
authored andcommittedAug 10, 2011
Shortcuts dialog now remembers window state between uses

File tree

2 files changed

+39
-1
lines changed

2 files changed

+39
-1
lines changed
 

‎src/app/qgsconfigureshortcutsdialog.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,33 @@ QgsConfigureShortcutsDialog::QgsConfigureShortcutsDialog( QWidget* parent )
4343
this, SLOT( actionChanged( QTreeWidgetItem*, QTreeWidgetItem* ) ) );
4444

4545
populateActions();
46+
47+
restoreState();
4648
}
4749

50+
QgsConfigureShortcutsDialog::~QgsConfigureShortcutsDialog()
51+
{
52+
saveState();
53+
}
54+
55+
/*!
56+
* Function to save dialog window state
57+
*/
58+
void QgsConfigureShortcutsDialog::saveState()
59+
{
60+
QSettings settings;
61+
settings.setValue( "/Windows/ShortcutsDialog/geometry", saveGeometry() );
62+
}
63+
64+
/*!
65+
* Function to restore dialog window state
66+
*/
67+
void QgsConfigureShortcutsDialog::restoreState()
68+
{
69+
QSettings settings;
70+
restoreGeometry( settings.value( "/Windows/ShortcutsDialog/geometry" ).toByteArray() );
71+
}
72+
4873
void QgsConfigureShortcutsDialog::populateActions()
4974
{
5075
QList<QAction*> actions = QgsShortcutsManager::instance()->listActions();

‎src/app/qgsconfigureshortcutsdialog.h

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ class QgsConfigureShortcutsDialog : public QDialog, private Ui::QgsConfigureShor
2626

2727
public:
2828
QgsConfigureShortcutsDialog( QWidget* parent = NULL );
29-
29+
~QgsConfigureShortcutsDialog();
30+
3031
void populateActions();
3132

3233
protected:
@@ -51,6 +52,18 @@ class QgsConfigureShortcutsDialog : public QDialog, private Ui::QgsConfigureShor
5152
protected:
5253
bool mGettingShortcut;
5354
int mModifiers, mKey;
55+
56+
private:
57+
/*!
58+
* Function to save dialog window state
59+
*/
60+
void saveState();
61+
62+
/*!
63+
* Function to restore dialog window state
64+
*/
65+
void restoreState();
66+
5467
};
5568

5669
#endif

0 commit comments

Comments
 (0)
Please sign in to comment.