"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:
Vafthrudnir 2018-02-11 19:49:58 +01:00 committed by Zach H
parent 3426a6b201
commit af5a04abf1

View file

@ -33,6 +33,7 @@
#include <QPrintPreviewDialog>
#include <QProcessEnvironment>
#include <QPushButton>
#include <QSplitter>
#include <QTextEdit>
#include <QTextStream>
#include <QTimer>
@ -83,30 +84,49 @@ void TabDeckEditor::createDeckDock()
commentsLabel->setObjectName("commentsLabel");
commentsEdit = new QTextEdit;
commentsEdit->setObjectName("commentsEdit");
commentsEdit->setMaximumHeight(70);
commentsLabel->setBuddy(commentsEdit);
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->setObjectName("hashLabel1");
auto *hashSizePolicy = new QSizePolicy();
hashSizePolicy->setHorizontalPolicy(QSizePolicy::Fixed);
hashLabel1->setSizePolicy(*hashSizePolicy);
hashLabel = new QLabel;
hashLabel->setObjectName("hashLabel");
QGridLayout *grid = new QGridLayout;
grid->setObjectName("grid");
grid->addWidget(nameLabel, 0, 0);
grid->addWidget(nameEdit, 0, 1);
auto *lowerLayout = new QGridLayout;
lowerLayout->setObjectName("lowerLayout");
lowerLayout->addWidget(hashLabel1, 0, 0);
lowerLayout->addWidget(hashLabel, 0, 1);
lowerLayout->addWidget(deckView, 1, 0, 1, 2);
grid->addWidget(commentsLabel, 1, 0);
grid->addWidget(commentsEdit, 1, 1);
// Create widgets for both layouts to make splitter work correctly
QWidget *topWidget = new QWidget;
topWidget->setLayout(upperLayout);
QWidget *bottomWidget = new QWidget;
bottomWidget->setLayout(lowerLayout);
grid->addWidget(hashLabel1, 2, 0);
grid->addWidget(hashLabel, 2, 1);
auto *split = new QSplitter;
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->addLayout(grid);
rightFrame->addWidget(deckView, 10);
rightFrame->addWidget(split);
deckDock = new QDockWidget(this);
deckDock->setObjectName("deckDock");
@ -128,7 +148,7 @@ void TabDeckEditor::createCardInfoDock()
{
cardInfo = new CardFrame();
cardInfo->setObjectName("cardInfo");
QVBoxLayout *cardInfoFrame = new QVBoxLayout;
auto *cardInfoFrame = new QVBoxLayout;
cardInfoFrame->setObjectName("cardInfoFrame");
cardInfoFrame->addWidget(cardInfo);
@ -166,21 +186,21 @@ void TabDeckEditor::createFiltersDock()
SLOT(filterViewCustomContextMenu(const QPoint &)));
connect(&filterViewKeySignals, SIGNAL(onDelete()), this, SLOT(actClearFilterOne()));
FilterBuilder *filterBuilder = new FilterBuilder;
auto *filterBuilder = new FilterBuilder;
filterBuilder->setObjectName("filterBuilder");
connect(filterBuilder, SIGNAL(add(const CardFilter *)), filterModel, SLOT(addFilter(const CardFilter *)));
QToolButton *filterDelOne = new QToolButton();
auto *filterDelOne = new QToolButton();
filterDelOne->setObjectName("filterDelOne");
filterDelOne->setDefaultAction(aClearFilterOne);
filterDelOne->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
QToolButton *filterDelAll = new QToolButton();
auto *filterDelAll = new QToolButton();
filterDelAll->setObjectName("filterDelAll");
filterDelAll->setDefaultAction(aClearFilterAll);
filterDelAll->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
QGridLayout *filterLayout = new QGridLayout;
auto *filterLayout = new QGridLayout;
filterLayout->setObjectName("filterLayout");
filterLayout->setContentsMargins(0, 0, 0, 0);
filterLayout->addWidget(filterBuilder, 0, 0, 1, 3);
@ -192,7 +212,7 @@ void TabDeckEditor::createFiltersDock()
filterBox->setObjectName("filterBox");
filterBox->setLayout(filterLayout);
QVBoxLayout *filterFrame = new QVBoxLayout;
auto *filterFrame = new QVBoxLayout;
filterFrame->setObjectName("filterFrame");
filterFrame->addWidget(filterBox);
@ -391,7 +411,7 @@ void TabDeckEditor::createCentralFrame()
aDecrement->setIcon(QPixmap("theme:icons/decrement"));
connect(aDecrement, SIGNAL(triggered()), this, SLOT(actDecrement()));
QToolBar *deckEditToolBar = new QToolBar;
auto *deckEditToolBar = new QToolBar;
deckEditToolBar->setObjectName("deckEditToolBar");
deckEditToolBar->setOrientation(Qt::Horizontal);
deckEditToolBar->setIconSize(QSize(24, 24));
@ -703,7 +723,7 @@ void TabDeckEditor::actLoadDeck()
QString fileName = dialog.selectedFiles().at(0);
DeckLoader::FileFormat fmt = DeckLoader::getFormatFromName(fileName);
DeckLoader *l = new DeckLoader;
auto *l = new DeckLoader;
if (l->loadFromFile(fileName, fmt))
setDeck(l);
else
@ -723,7 +743,7 @@ bool TabDeckEditor::actSaveDeck()
DeckLoader *const deck = deckModel->getDeckList();
if (deck->getLastRemoteDeckId() != -1) {
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());
PendingCommand *pend = AbstractClient::prepareSessionCommand(cmd);
@ -839,15 +859,15 @@ void TabDeckEditor::actExportDeckDecklist()
void TabDeckEditor::actAnalyzeDeckDeckstats()
{
DeckStatsInterface *interface = new DeckStatsInterface(*databaseModel->getDatabase(),
this); // it deletes itself when done
auto *interface = new DeckStatsInterface(*databaseModel->getDatabase(),
this); // it deletes itself when done
interface->analyzeDeck(deckModel->getDeckList());
}
void TabDeckEditor::actAnalyzeDeckTappedout()
{
TappedOutInterface *interface = new TappedOutInterface(*databaseModel->getDatabase(),
this); // it deletes itself when done
auto *interface = new TappedOutInterface(*databaseModel->getDatabase(),
this); // it deletes itself when done
interface->analyzeDeck(deckModel->getDeckList());
}