Merge pull request #955 from poixen/custom_folder_link
Added menu item to open custom image folder
This commit is contained in:
commit
aa95125fb2
2 changed files with 75 additions and 44 deletions
|
@ -16,6 +16,7 @@
|
|||
#include <QApplication>
|
||||
#include <QClipboard>
|
||||
#include <QTextStream>
|
||||
#include <QProcessEnvironment>
|
||||
#include "tab_deck_editor.h"
|
||||
#include "window_sets.h"
|
||||
#include "carddatabase.h"
|
||||
|
@ -228,6 +229,8 @@ TabDeckEditor::TabDeckEditor(TabSupervisor *_tabSupervisor, QWidget *parent)
|
|||
connect(aAnalyzeDeck, SIGNAL(triggered()), this, SLOT(actAnalyzeDeck()));
|
||||
aClose = new QAction(QString(), this);
|
||||
connect(aClose, SIGNAL(triggered()), this, SLOT(closeRequest()));
|
||||
aOpenCustomFolder = new QAction(QString(), this);
|
||||
connect(aOpenCustomFolder, SIGNAL(triggered()), this, SLOT(actOpenCustomFolder()));
|
||||
|
||||
aEditSets = new QAction(QString(), this);
|
||||
connect(aEditSets, SIGNAL(triggered()), this, SLOT(actEditSets()));
|
||||
|
@ -256,6 +259,10 @@ TabDeckEditor::TabDeckEditor(TabSupervisor *_tabSupervisor, QWidget *parent)
|
|||
dbMenu->addSeparator();
|
||||
dbMenu->addAction(aClearSearch);
|
||||
dbMenu->addAction(aCardTextOnly);
|
||||
#if defined(Q_OS_WIN) || defined(Q_OS_MAC)
|
||||
dbMenu->addSeparator();
|
||||
dbMenu->addAction(aOpenCustomFolder);
|
||||
#endif
|
||||
addTabMenu(dbMenu);
|
||||
|
||||
aAddCard = new QAction(QString(), this);
|
||||
|
@ -311,6 +318,7 @@ void TabDeckEditor::retranslateUi()
|
|||
aSaveDeckToClipboard->setText(tr("Save deck to clip&board"));
|
||||
aPrintDeck->setText(tr("&Print deck..."));
|
||||
aAnalyzeDeck->setText(tr("&Analyze deck on deckstats.net"));
|
||||
aOpenCustomFolder->setText(tr("Open custom image folder"));
|
||||
aClose->setText(tr("&Close"));
|
||||
aClose->setShortcut(tr("Ctrl+Q"));
|
||||
|
||||
|
@ -523,6 +531,28 @@ void TabDeckEditor::actAnalyzeDeck()
|
|||
interface->analyzeDeck(deckModel->getDeckList());
|
||||
}
|
||||
|
||||
|
||||
void TabDeckEditor::actOpenCustomFolder() {
|
||||
|
||||
#if defined(Q_OS_MAC)
|
||||
|
||||
QStringList scriptArgs;
|
||||
scriptArgs << QLatin1String("-e");
|
||||
scriptArgs << QString::fromLatin1("tell application \"Finder\" to open POSIX file \"%1\"").arg(settingsCache->getPicsPath() + "/custom/");
|
||||
scriptArgs << QLatin1String("-e");
|
||||
scriptArgs << QLatin1String("tell application \"Finder\" to activate");
|
||||
|
||||
QProcess::execute("/usr/bin/osascript", scriptArgs);
|
||||
#endif
|
||||
#if defined(Q_OS_WIN)
|
||||
QStringList args;
|
||||
QString pathToFolder = settingsCache->getPicsPath().append("/custom");
|
||||
args << QDir::toNativeSeparators(pathToFolder);
|
||||
QProcess::startDetached("explorer", args);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
void TabDeckEditor::actEditSets()
|
||||
{
|
||||
WndSets *w = new WndSets;
|
||||
|
|
|
@ -20,55 +20,56 @@ class FilterTreeModel;
|
|||
class CardInfo;
|
||||
|
||||
class SearchLineEdit : public QLineEdit {
|
||||
private:
|
||||
QTreeView *treeView;
|
||||
protected:
|
||||
void keyPressEvent(QKeyEvent *event);
|
||||
public:
|
||||
SearchLineEdit() : QLineEdit(), treeView(0) { }
|
||||
void setTreeView(QTreeView *_treeView) { treeView = _treeView; }
|
||||
private:
|
||||
QTreeView *treeView;
|
||||
protected:
|
||||
void keyPressEvent(QKeyEvent *event);
|
||||
public:
|
||||
SearchLineEdit() : QLineEdit(), treeView(0) { }
|
||||
void setTreeView(QTreeView *_treeView) { treeView = _treeView; }
|
||||
};
|
||||
|
||||
class TabDeckEditor : public Tab {
|
||||
Q_OBJECT
|
||||
private slots:
|
||||
void updateName(const QString &name);
|
||||
void updateComments();
|
||||
void updateHash();
|
||||
void updateCardInfoLeft(const QModelIndex ¤t, const QModelIndex &previous);
|
||||
void updateCardInfoRight(const QModelIndex ¤t, const QModelIndex &previous);
|
||||
void updateSearch(const QString &search);
|
||||
private slots:
|
||||
void updateName(const QString &name);
|
||||
void updateComments();
|
||||
void updateHash();
|
||||
void updateCardInfoLeft(const QModelIndex ¤t, const QModelIndex &previous);
|
||||
void updateCardInfoRight(const QModelIndex ¤t, const QModelIndex &previous);
|
||||
void updateSearch(const QString &search);
|
||||
|
||||
void actNewDeck();
|
||||
void actLoadDeck();
|
||||
bool actSaveDeck();
|
||||
bool actSaveDeckAs();
|
||||
void actLoadDeckFromClipboard();
|
||||
void actSaveDeckToClipboard();
|
||||
void actPrintDeck();
|
||||
void actAnalyzeDeck();
|
||||
void actNewDeck();
|
||||
void actLoadDeck();
|
||||
bool actSaveDeck();
|
||||
bool actSaveDeckAs();
|
||||
void actLoadDeckFromClipboard();
|
||||
void actSaveDeckToClipboard();
|
||||
void actPrintDeck();
|
||||
void actAnalyzeDeck();
|
||||
void actOpenCustomFolder();
|
||||
|
||||
void actEditSets();
|
||||
void actEditTokens();
|
||||
void actEditSets();
|
||||
void actEditTokens();
|
||||
|
||||
void actClearSearch();
|
||||
void actClearSearch();
|
||||
|
||||
void actSwapCard();
|
||||
void actAddCard();
|
||||
void actAddCardToSideboard();
|
||||
void actRemoveCard();
|
||||
void actIncrement();
|
||||
void actDecrement();
|
||||
void actDecrementCard();
|
||||
void actDecrementCardFromSideboard();
|
||||
void actSwapCard();
|
||||
void actAddCard();
|
||||
void actAddCardToSideboard();
|
||||
void actRemoveCard();
|
||||
void actIncrement();
|
||||
void actDecrement();
|
||||
void actDecrementCard();
|
||||
void actDecrementCardFromSideboard();
|
||||
|
||||
//void actUpdatePrices();
|
||||
//void actUpdatePrices();
|
||||
|
||||
void finishedUpdatingPrices();
|
||||
void saveDeckRemoteFinished(const Response &r);
|
||||
void filterViewCustomContextMenu(const QPoint &point);
|
||||
void filterRemove(QAction *action);
|
||||
void setPriceTagFeatureEnabled(int enabled);
|
||||
void finishedUpdatingPrices();
|
||||
void saveDeckRemoteFinished(const Response &r);
|
||||
void filterViewCustomContextMenu(const QPoint &point);
|
||||
void filterRemove(QAction *action);
|
||||
void setPriceTagFeatureEnabled(int enabled);
|
||||
private:
|
||||
CardInfo *currentCardInfo() const;
|
||||
void addCardHelper(QString zoneName);
|
||||
|
@ -97,10 +98,10 @@ private:
|
|||
QTreeView *filterView;
|
||||
|
||||
QMenu *deckMenu, *dbMenu;
|
||||
QAction *aNewDeck, *aLoadDeck, *aSaveDeck, *aSaveDeckAs, *aLoadDeckFromClipboard, *aSaveDeckToClipboard, *aPrintDeck, *aAnalyzeDeck, *aClose;
|
||||
QAction *aNewDeck, *aLoadDeck, *aSaveDeck, *aSaveDeckAs, *aLoadDeckFromClipboard, *aSaveDeckToClipboard, *aPrintDeck, *aAnalyzeDeck, *aClose, *aOpenCustomFolder;
|
||||
QAction *aEditSets, *aEditTokens, *aClearSearch, *aCardTextOnly;
|
||||
QAction *aAddCard, *aAddCardToSideboard, *aRemoveCard, *aIncrement, *aDecrement;// *aUpdatePrices;
|
||||
|
||||
|
||||
bool modified;
|
||||
public:
|
||||
TabDeckEditor(TabSupervisor *_tabSupervisor, QWidget *parent = 0);
|
||||
|
@ -110,10 +111,10 @@ public:
|
|||
void setDeck(DeckLoader *_deckLoader);
|
||||
void setModified(bool _windowModified);
|
||||
bool confirmClose();
|
||||
public slots:
|
||||
void closeRequest();
|
||||
public slots:
|
||||
void closeRequest();
|
||||
signals:
|
||||
void deckEditorClosing(TabDeckEditor *tab);
|
||||
void deckEditorClosing(TabDeckEditor *tab);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue