"Comment" field made resizable in deck builder window (#3105)
* solution with splitter * Made prettier * Useless parameter removed * clangified * c++11 cleanup
This commit is contained in:
parent
3426a6b201
commit
af5a04abf1
1 changed files with 45 additions and 25 deletions
|
@ -33,6 +33,7 @@
|
||||||
#include <QPrintPreviewDialog>
|
#include <QPrintPreviewDialog>
|
||||||
#include <QProcessEnvironment>
|
#include <QProcessEnvironment>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
#include <QSplitter>
|
||||||
#include <QTextEdit>
|
#include <QTextEdit>
|
||||||
#include <QTextStream>
|
#include <QTextStream>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
@ -83,30 +84,49 @@ void TabDeckEditor::createDeckDock()
|
||||||
commentsLabel->setObjectName("commentsLabel");
|
commentsLabel->setObjectName("commentsLabel");
|
||||||
commentsEdit = new QTextEdit;
|
commentsEdit = new QTextEdit;
|
||||||
commentsEdit->setObjectName("commentsEdit");
|
commentsEdit->setObjectName("commentsEdit");
|
||||||
commentsEdit->setMaximumHeight(70);
|
|
||||||
commentsLabel->setBuddy(commentsEdit);
|
commentsLabel->setBuddy(commentsEdit);
|
||||||
connect(commentsEdit, SIGNAL(textChanged()), this, SLOT(updateComments()));
|
connect(commentsEdit, SIGNAL(textChanged()), this, SLOT(updateComments()));
|
||||||
|
|
||||||
|
auto *upperLayout = new QGridLayout;
|
||||||
|
upperLayout->setObjectName("upperLayout");
|
||||||
|
upperLayout->addWidget(nameLabel, 0, 0);
|
||||||
|
upperLayout->addWidget(nameEdit, 0, 1);
|
||||||
|
|
||||||
|
upperLayout->addWidget(commentsLabel, 1, 0);
|
||||||
|
upperLayout->addWidget(commentsEdit, 1, 1);
|
||||||
|
|
||||||
hashLabel1 = new QLabel();
|
hashLabel1 = new QLabel();
|
||||||
hashLabel1->setObjectName("hashLabel1");
|
hashLabel1->setObjectName("hashLabel1");
|
||||||
|
auto *hashSizePolicy = new QSizePolicy();
|
||||||
|
hashSizePolicy->setHorizontalPolicy(QSizePolicy::Fixed);
|
||||||
|
hashLabel1->setSizePolicy(*hashSizePolicy);
|
||||||
hashLabel = new QLabel;
|
hashLabel = new QLabel;
|
||||||
hashLabel->setObjectName("hashLabel");
|
hashLabel->setObjectName("hashLabel");
|
||||||
|
|
||||||
QGridLayout *grid = new QGridLayout;
|
auto *lowerLayout = new QGridLayout;
|
||||||
grid->setObjectName("grid");
|
lowerLayout->setObjectName("lowerLayout");
|
||||||
grid->addWidget(nameLabel, 0, 0);
|
lowerLayout->addWidget(hashLabel1, 0, 0);
|
||||||
grid->addWidget(nameEdit, 0, 1);
|
lowerLayout->addWidget(hashLabel, 0, 1);
|
||||||
|
lowerLayout->addWidget(deckView, 1, 0, 1, 2);
|
||||||
|
|
||||||
grid->addWidget(commentsLabel, 1, 0);
|
// Create widgets for both layouts to make splitter work correctly
|
||||||
grid->addWidget(commentsEdit, 1, 1);
|
QWidget *topWidget = new QWidget;
|
||||||
|
topWidget->setLayout(upperLayout);
|
||||||
|
QWidget *bottomWidget = new QWidget;
|
||||||
|
bottomWidget->setLayout(lowerLayout);
|
||||||
|
|
||||||
grid->addWidget(hashLabel1, 2, 0);
|
auto *split = new QSplitter;
|
||||||
grid->addWidget(hashLabel, 2, 1);
|
split->setObjectName("deckSplitter");
|
||||||
|
split->setOrientation(Qt::Vertical);
|
||||||
|
split->setChildrenCollapsible(false);
|
||||||
|
split->addWidget(topWidget);
|
||||||
|
split->addWidget(bottomWidget);
|
||||||
|
split->setStretchFactor(0, 1);
|
||||||
|
split->setStretchFactor(1, 4);
|
||||||
|
|
||||||
QVBoxLayout *rightFrame = new QVBoxLayout;
|
auto *rightFrame = new QVBoxLayout;
|
||||||
rightFrame->setObjectName("rightFrame");
|
rightFrame->setObjectName("rightFrame");
|
||||||
rightFrame->addLayout(grid);
|
rightFrame->addWidget(split);
|
||||||
rightFrame->addWidget(deckView, 10);
|
|
||||||
|
|
||||||
deckDock = new QDockWidget(this);
|
deckDock = new QDockWidget(this);
|
||||||
deckDock->setObjectName("deckDock");
|
deckDock->setObjectName("deckDock");
|
||||||
|
@ -128,7 +148,7 @@ void TabDeckEditor::createCardInfoDock()
|
||||||
{
|
{
|
||||||
cardInfo = new CardFrame();
|
cardInfo = new CardFrame();
|
||||||
cardInfo->setObjectName("cardInfo");
|
cardInfo->setObjectName("cardInfo");
|
||||||
QVBoxLayout *cardInfoFrame = new QVBoxLayout;
|
auto *cardInfoFrame = new QVBoxLayout;
|
||||||
cardInfoFrame->setObjectName("cardInfoFrame");
|
cardInfoFrame->setObjectName("cardInfoFrame");
|
||||||
cardInfoFrame->addWidget(cardInfo);
|
cardInfoFrame->addWidget(cardInfo);
|
||||||
|
|
||||||
|
@ -166,21 +186,21 @@ void TabDeckEditor::createFiltersDock()
|
||||||
SLOT(filterViewCustomContextMenu(const QPoint &)));
|
SLOT(filterViewCustomContextMenu(const QPoint &)));
|
||||||
connect(&filterViewKeySignals, SIGNAL(onDelete()), this, SLOT(actClearFilterOne()));
|
connect(&filterViewKeySignals, SIGNAL(onDelete()), this, SLOT(actClearFilterOne()));
|
||||||
|
|
||||||
FilterBuilder *filterBuilder = new FilterBuilder;
|
auto *filterBuilder = new FilterBuilder;
|
||||||
filterBuilder->setObjectName("filterBuilder");
|
filterBuilder->setObjectName("filterBuilder");
|
||||||
connect(filterBuilder, SIGNAL(add(const CardFilter *)), filterModel, SLOT(addFilter(const CardFilter *)));
|
connect(filterBuilder, SIGNAL(add(const CardFilter *)), filterModel, SLOT(addFilter(const CardFilter *)));
|
||||||
|
|
||||||
QToolButton *filterDelOne = new QToolButton();
|
auto *filterDelOne = new QToolButton();
|
||||||
filterDelOne->setObjectName("filterDelOne");
|
filterDelOne->setObjectName("filterDelOne");
|
||||||
filterDelOne->setDefaultAction(aClearFilterOne);
|
filterDelOne->setDefaultAction(aClearFilterOne);
|
||||||
filterDelOne->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
filterDelOne->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
||||||
|
|
||||||
QToolButton *filterDelAll = new QToolButton();
|
auto *filterDelAll = new QToolButton();
|
||||||
filterDelAll->setObjectName("filterDelAll");
|
filterDelAll->setObjectName("filterDelAll");
|
||||||
filterDelAll->setDefaultAction(aClearFilterAll);
|
filterDelAll->setDefaultAction(aClearFilterAll);
|
||||||
filterDelAll->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
filterDelAll->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
||||||
|
|
||||||
QGridLayout *filterLayout = new QGridLayout;
|
auto *filterLayout = new QGridLayout;
|
||||||
filterLayout->setObjectName("filterLayout");
|
filterLayout->setObjectName("filterLayout");
|
||||||
filterLayout->setContentsMargins(0, 0, 0, 0);
|
filterLayout->setContentsMargins(0, 0, 0, 0);
|
||||||
filterLayout->addWidget(filterBuilder, 0, 0, 1, 3);
|
filterLayout->addWidget(filterBuilder, 0, 0, 1, 3);
|
||||||
|
@ -192,7 +212,7 @@ void TabDeckEditor::createFiltersDock()
|
||||||
filterBox->setObjectName("filterBox");
|
filterBox->setObjectName("filterBox");
|
||||||
filterBox->setLayout(filterLayout);
|
filterBox->setLayout(filterLayout);
|
||||||
|
|
||||||
QVBoxLayout *filterFrame = new QVBoxLayout;
|
auto *filterFrame = new QVBoxLayout;
|
||||||
filterFrame->setObjectName("filterFrame");
|
filterFrame->setObjectName("filterFrame");
|
||||||
filterFrame->addWidget(filterBox);
|
filterFrame->addWidget(filterBox);
|
||||||
|
|
||||||
|
@ -391,7 +411,7 @@ void TabDeckEditor::createCentralFrame()
|
||||||
aDecrement->setIcon(QPixmap("theme:icons/decrement"));
|
aDecrement->setIcon(QPixmap("theme:icons/decrement"));
|
||||||
connect(aDecrement, SIGNAL(triggered()), this, SLOT(actDecrement()));
|
connect(aDecrement, SIGNAL(triggered()), this, SLOT(actDecrement()));
|
||||||
|
|
||||||
QToolBar *deckEditToolBar = new QToolBar;
|
auto *deckEditToolBar = new QToolBar;
|
||||||
deckEditToolBar->setObjectName("deckEditToolBar");
|
deckEditToolBar->setObjectName("deckEditToolBar");
|
||||||
deckEditToolBar->setOrientation(Qt::Horizontal);
|
deckEditToolBar->setOrientation(Qt::Horizontal);
|
||||||
deckEditToolBar->setIconSize(QSize(24, 24));
|
deckEditToolBar->setIconSize(QSize(24, 24));
|
||||||
|
@ -703,7 +723,7 @@ void TabDeckEditor::actLoadDeck()
|
||||||
QString fileName = dialog.selectedFiles().at(0);
|
QString fileName = dialog.selectedFiles().at(0);
|
||||||
DeckLoader::FileFormat fmt = DeckLoader::getFormatFromName(fileName);
|
DeckLoader::FileFormat fmt = DeckLoader::getFormatFromName(fileName);
|
||||||
|
|
||||||
DeckLoader *l = new DeckLoader;
|
auto *l = new DeckLoader;
|
||||||
if (l->loadFromFile(fileName, fmt))
|
if (l->loadFromFile(fileName, fmt))
|
||||||
setDeck(l);
|
setDeck(l);
|
||||||
else
|
else
|
||||||
|
@ -723,7 +743,7 @@ bool TabDeckEditor::actSaveDeck()
|
||||||
DeckLoader *const deck = deckModel->getDeckList();
|
DeckLoader *const deck = deckModel->getDeckList();
|
||||||
if (deck->getLastRemoteDeckId() != -1) {
|
if (deck->getLastRemoteDeckId() != -1) {
|
||||||
Command_DeckUpload cmd;
|
Command_DeckUpload cmd;
|
||||||
cmd.set_deck_id(deck->getLastRemoteDeckId());
|
cmd.set_deck_id(static_cast<google::protobuf::uint32>(deck->getLastRemoteDeckId()));
|
||||||
cmd.set_deck_list(deck->writeToString_Native().toStdString());
|
cmd.set_deck_list(deck->writeToString_Native().toStdString());
|
||||||
|
|
||||||
PendingCommand *pend = AbstractClient::prepareSessionCommand(cmd);
|
PendingCommand *pend = AbstractClient::prepareSessionCommand(cmd);
|
||||||
|
@ -839,15 +859,15 @@ void TabDeckEditor::actExportDeckDecklist()
|
||||||
|
|
||||||
void TabDeckEditor::actAnalyzeDeckDeckstats()
|
void TabDeckEditor::actAnalyzeDeckDeckstats()
|
||||||
{
|
{
|
||||||
DeckStatsInterface *interface = new DeckStatsInterface(*databaseModel->getDatabase(),
|
auto *interface = new DeckStatsInterface(*databaseModel->getDatabase(),
|
||||||
this); // it deletes itself when done
|
this); // it deletes itself when done
|
||||||
interface->analyzeDeck(deckModel->getDeckList());
|
interface->analyzeDeck(deckModel->getDeckList());
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabDeckEditor::actAnalyzeDeckTappedout()
|
void TabDeckEditor::actAnalyzeDeckTappedout()
|
||||||
{
|
{
|
||||||
TappedOutInterface *interface = new TappedOutInterface(*databaseModel->getDatabase(),
|
auto *interface = new TappedOutInterface(*databaseModel->getDatabase(),
|
||||||
this); // it deletes itself when done
|
this); // it deletes itself when done
|
||||||
interface->analyzeDeck(deckModel->getDeckList());
|
interface->analyzeDeck(deckModel->getDeckList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue