Skip to content

Commit

Permalink
Merge pull request #1276 from davidlamhauge/issue177_save_shortcutlist
Browse files Browse the repository at this point in the history
#177 Save and Load shortcut list
  • Loading branch information
candyface authored Nov 10, 2019
2 parents c8addc3 + a517de9 commit 32fff24
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 1 deletion.
67 changes: 67 additions & 0 deletions app/src/shortcutspage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ GNU General Public License for more details.
#include <QKeySequence>
#include <QMessageBox>
#include "pencilsettings.h"
#include <QFile>
#include <QFileDialog>


static const int ACT_NAME_COLUMN = 0;
Expand All @@ -46,6 +48,8 @@ ShortcutsPage::ShortcutsPage( QWidget* parent )
connect( ui->treeView, &QTreeView::clicked, this, &ShortcutsPage::tableItemClicked );
connect( ui->keySequenceEdit, &QKeySequenceEdit::editingFinished, this, &ShortcutsPage::keyCapLineEditTextChanged );
connect( ui->restoreShortcutsButton, &QPushButton::clicked, this, &ShortcutsPage::restoreShortcutsButtonClicked );
connect(ui->btnSaveShortcuts, &QPushButton::clicked, this, &ShortcutsPage::saveShortcutsButtonClicked);
connect(ui->btnLoadShortcuts, &QPushButton::clicked, this, &ShortcutsPage::loadShortcutsButtonClicked);
connect( ui->clearButton, &QPushButton::clicked, this, &ShortcutsPage::clearButtonClicked );

ui->treeView->selectionModel()->select(QItemSelection(m_treeModel->index(0, 0), m_treeModel->index(0, m_treeModel->columnCount() - 1)), QItemSelectionModel::Select);
Expand Down Expand Up @@ -117,6 +121,69 @@ void ShortcutsPage::keyCapLineEditTextChanged()
qDebug() << "Shortcut " << strCmdName << " = " << strKeySeq;
}

void ShortcutsPage::saveShortcutsButtonClicked()
{
QSettings settings( PENCIL2D, PENCIL2D );
settings.beginGroup( "LastSavePath" );

QString fDir = settings.value("Shortcuts").toString();
if (fDir.isEmpty())
fDir = QDir::homePath();

QString fileName = QFileDialog::getSaveFileName(this,
tr("Save Pencil2D Shortcut file"),
fDir + "/untitled.pcls",
tr("Pencil2D Shortcut File(*.pcls)"));
settings.setValue("Shortcuts", fileName);
settings.endGroup();

QSettings out(fileName, QSettings::IniFormat);
settings.beginGroup( "shortcuts" );
out.beginGroup("shortcuts");

foreach (QString key, settings.allKeys())
{
out.setValue(key, settings.value(key));
}
}

void ShortcutsPage::loadShortcutsButtonClicked()
{
QSettings settings( PENCIL2D, PENCIL2D );
settings.beginGroup("LastSavePath");
QString fDir = settings.value("Shortcuts").toString();
settings.endGroup();
if (fDir.isEmpty())
fDir = QDir::homePath();

QString fileName = QFileDialog::getOpenFileName(this,
tr("Open Pencil2D Shortcut file"),
fDir,
tr("Pencil2D Shortcut File(*.pcls)"));

if (!QFileInfo(fileName).isReadable())
{
qDebug() << "Shortcut file not readable";
return;
}

QSettings input(fileName, QSettings::IniFormat);
if (input.status() != QSettings::NoError || !input.childGroups().contains("shortcuts"))
{
qDebug() << "Error accessing or parsing shortcut file" << input.status();
return;
}

input.beginGroup("shortcuts");
settings.beginGroup("shortcuts");
foreach (QString pShortcutsKey, input.allKeys())
{
settings.setValue(pShortcutsKey, input.value(pShortcutsKey));
}

treeModelLoadShortcutsSetting();
}

void ShortcutsPage::restoreShortcutsButtonClicked()
{
restoreShortcutsToDefault();
Expand Down
2 changes: 2 additions & 0 deletions app/src/shortcutspage.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ class ShortcutsPage : public QWidget
private slots:
void tableItemClicked(const QModelIndex&);
void keyCapLineEditTextChanged();
void saveShortcutsButtonClicked();
void loadShortcutsButtonClicked();
void restoreShortcutsButtonClicked();
void clearButtonClicked();

Expand Down
16 changes: 15 additions & 1 deletion app/ui/shortcutspage.ui
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>360</width>
<width>361</width>
<height>385</height>
</rect>
</property>
Expand Down Expand Up @@ -81,6 +81,20 @@
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="btnSaveShortcuts">
<property name="text">
<string>Save</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnLoadShortcuts">
<property name="text">
<string>Load</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
Expand Down

0 comments on commit 32fff24

Please sign in to comment.