# # # patch "guitone/src/util/DiffParser.cpp" # from [ee79215f94252db70870ed6897b16a029b0b7758] # to [1a11cbf963cf7304b2ab29a672958b08f81df5d8] # # patch "guitone/src/view/Guitone.cpp" # from [beca131cde79945069a4421e00ed30a2bc0c2fdb] # to [4899c96336c834db7235e5dc888357a209d2afae] # # patch "guitone/src/view/Guitone.h" # from [22aa80a4eacb7a5a83c2e211dc4de7323a37fa54] # to [aeff753bd7fd686df185ccf2aaf199a7430169af] # # patch "guitone/src/view/dialogs/DatabaseView.cpp" # from [dc384679d5d64a9c78e94354b9d32d260f931c08] # to [3b204b6a8f23ab3e5d63abef85aeb7fc5c831370] # # patch "guitone/src/view/dialogs/DatabaseView.h" # from [aae2e29c55690c1e0c3b48d9910a89d981019e3c] # to [0e7102460b4f07c235c07c87117673dd07f74e39] # # patch "guitone/src/view/dialogs/FileDiff.cpp" # from [c6f55eaf9f12040e496d8c079c9e6ca406eee6a8] # to [7b4435bc5e23e8e0f078ebccae7bd8155508f782] # # patch "guitone/src/view/dialogs/KeyManagement.cpp" # from [f5f5ee8b5c5836cd633e4395af8aad29e1d72c18] # to [1be888667e4b2c74c4e2c1c26847cfddb097f73c] # # patch "guitone/src/view/dialogs/RevisionDiff.cpp" # from [8e5f7cfdc82f4ea811c72387596b40711d45ac57] # to [2de755a84fb1cd6252c93dbef9a5533538b20b7e] # # patch "guitone/src/view/dialogs/SwitchWorkspaceRevision.cpp" # from [d05cbd2c11e69ea1bed9e1c6664c5d29af6fe16f] # to [5ca1a0e97176a1a68e5aaccd3b136a7fcaa794be] # ============================================================ --- guitone/src/util/DiffParser.cpp ee79215f94252db70870ed6897b16a029b0b7758 +++ guitone/src/util/DiffParser.cpp 1a11cbf963cf7304b2ab29a672958b08f81df5d8 @@ -76,6 +76,7 @@ void DiffParser::parse(const QString & i // create a new diff curDiff = new Diff(); + curDiff->is_binary = false; fileDiffs[curFile] = curDiff; // skip the next line as we don't care about the content id's here ============================================================ --- guitone/src/view/Guitone.cpp beca131cde79945069a4421e00ed30a2bc0c2fdb +++ guitone/src/view/Guitone.cpp 4899c96336c834db7235e5dc888357a209d2afae @@ -208,12 +208,13 @@ void Guitone::buildMenu() Qt::CTRL + Qt::Key_K ); - menu->addAction( + actDatabase = menu->addAction( tr("&Database"), this, SLOT(openDatabaseDialog()), Qt::CTRL + Qt::Key_D ); + actDatabase->setEnabled(false); menu = menuBar()->addMenu(tr("&Help")); act = menu->addAction( @@ -366,6 +367,7 @@ void Guitone::loadWorkspace(QString fn) updatePreviousWorkspacesMenu(); statusBar()->showMessage(tr("Loading workspace..."), 2000 ); + actDatabase->setEnabled(true); } void Guitone::resizeEvent ( QResizeEvent * event ) ============================================================ --- guitone/src/view/Guitone.h 22aa80a4eacb7a5a83c2e211dc4de7323a37fa54 +++ guitone/src/view/Guitone.h aeff753bd7fd686df185ccf2aaf199a7430169af @@ -69,6 +69,7 @@ private: QMenu *menu; QMenu *wsSubMenu; QAction *actShowHideIgnored; + QAction *actDatabase; QActionGroup *actGroupViewOptions; QAction *actExpandCollapseTree; Inventory *invModel; ============================================================ --- guitone/src/view/dialogs/DatabaseView.cpp dc384679d5d64a9c78e94354b9d32d260f931c08 +++ guitone/src/view/dialogs/DatabaseView.cpp 3b204b6a8f23ab3e5d63abef85aeb7fc5c831370 @@ -51,12 +51,15 @@ void DatabaseView::initTreeWidget() { QStandardItem *root = new QStandardItem("*"); root->setData("*", Qt::ToolTipRole); + branchModel = new QStandardItemModel(this); branchModel->appendRow(root); branchModel->setHorizontalHeaderItem(0, new QStandardItem(tr("Branches"))); builder = new TreeBuilder(root, this); + branches->setRootIsDecorated(false); branches->setModel(branchModel); + branches->setExpanded(root->index(), true); connect(branches, SIGNAL(clicked(QModelIndex)), this, SLOT(branchesClicked(QModelIndex))); @@ -87,14 +90,25 @@ void DatabaseView::readBranches() void DatabaseView::readBranches() { - int ret; mtn = Monotone::singleton(this); - //mtn->setup(&QDir::current()); - mtn->executeCommand(QStringList() << "branches", ret); - builder->addList(mtn->getDataAndReset()); + connect( + mtn, SIGNAL(commandFinished(int)), + this, SLOT(addBranches(int)) + ); + mtn->triggerCommand(QStringList() << "branches"); } +void DatabaseView::addBranches(int ret) +{ + if(!ret) + builder->addList(mtn->getDataAndReset()); + disconnect( + mtn, SIGNAL(commandFinished(int)), + this, SLOT(addBranches(int)) + ); +} + void DatabaseView::setupSplitterGUI(QWidget *parent) { outerSplitter->restoreState(Settings::getSplitterState("OuterSplitter")); ============================================================ --- guitone/src/view/dialogs/DatabaseView.h aae2e29c55690c1e0c3b48d9910a89d981019e3c +++ guitone/src/view/dialogs/DatabaseView.h 0e7102460b4f07c235c07c87117673dd07f74e39 @@ -35,8 +35,9 @@ public: DatabaseView(QWidget *parent = 0); ~DatabaseView(); -public slots: +private slots: void branchesClicked(QModelIndex idx); + void addBranches(int ret); private: void setupSplitterGUI(QWidget *parent); ============================================================ --- guitone/src/view/dialogs/FileDiff.cpp c6f55eaf9f12040e496d8c079c9e6ca406eee6a8 +++ guitone/src/view/dialogs/FileDiff.cpp 7b4435bc5e23e8e0f078ebccae7bd8155508f782 @@ -21,6 +21,7 @@ #include "FileDiff.h" #include "../../monotone/Monotone.h" #include "../../util/SignalWaiter.h" +#include "../../util/Settings.h" #include @@ -39,6 +40,7 @@ void FileDiff::init(QString fileName) void FileDiff::init(QString fileName) { + resize(Settings::getStartupSize("FileDiffStartupSize")); connect( showVersionLeft, SIGNAL(toggled(bool)), this, SLOT(versionToggled(bool)) @@ -92,7 +94,10 @@ void FileDiff::init(QString fileName) } } -FileDiff::~FileDiff() {} +FileDiff::~FileDiff() +{ + Settings::setStartupSize("FileDiffStartupSize", size()); +} void FileDiff::versionToggled(bool dummy) { ============================================================ --- guitone/src/view/dialogs/KeyManagement.cpp f5f5ee8b5c5836cd633e4395af8aad29e1d72c18 +++ guitone/src/view/dialogs/KeyManagement.cpp 1be888667e4b2c74c4e2c1c26847cfddb097f73c @@ -32,7 +32,8 @@ KeyManagement::KeyManagement(QWidget* pa : QDialog(parent) { setupUi(this); - + resize(Settings::getStartupSize("KeyManagementStartupSize")); + model = new Keys(this); keyList->setModel(model); @@ -68,7 +69,10 @@ KeyManagement::KeyManagement(QWidget* pa popupMenu->addAction(act); } -KeyManagement::~KeyManagement() {} +KeyManagement::~KeyManagement() +{ + Settings::setStartupSize("KeyManagementStartupSize", size()); +} void KeyManagement::generateKeypair() { ============================================================ --- guitone/src/view/dialogs/RevisionDiff.cpp 8e5f7cfdc82f4ea811c72387596b40711d45ac57 +++ guitone/src/view/dialogs/RevisionDiff.cpp 2de755a84fb1cd6252c93dbef9a5533538b20b7e @@ -20,6 +20,7 @@ #include "RevisionDiff.h" #include "../../monotone/Monotone.h" +#include "../../util/Settings.h" #include @@ -35,6 +36,7 @@ void RevisionDiff::init(QString path, QS void RevisionDiff::init(QString path, QString leftRevision, QString rightRevision) { + resize(Settings::getStartupSize("RevisionDiffStartupSize")); QString title = windowTitle(); QString left = tr("base revision"); QString right = tr("workspace revision"); @@ -62,5 +64,8 @@ void RevisionDiff::init(QString path, QS } } -RevisionDiff::~RevisionDiff() {} +RevisionDiff::~RevisionDiff() +{ + Settings::setStartupSize("RevisionDiffStartupSize", size()); +} ============================================================ --- guitone/src/view/dialogs/SwitchWorkspaceRevision.cpp d05cbd2c11e69ea1bed9e1c6664c5d29af6fe16f +++ guitone/src/view/dialogs/SwitchWorkspaceRevision.cpp 5ca1a0e97176a1a68e5aaccd3b136a7fcaa794be @@ -28,7 +28,7 @@ SwitchWorkspaceRevision::SwitchWorkspace : QDialog(parent) { setupUi(this); - + resize(Settings::getStartupSize("SwitchWorkspaceRevisionStartupSize")); // add some items to the selector box selectorBox->addItem(tr("Revision"), "i"); selectorBox->addItem(tr("Branch"), "b"); @@ -92,7 +92,10 @@ SwitchWorkspaceRevision::SwitchWorkspace splitter->restoreState(); } -SwitchWorkspaceRevision::~SwitchWorkspaceRevision() {} +SwitchWorkspaceRevision::~SwitchWorkspaceRevision() +{ + Settings::setStartupSize("SwitchWorkspaceRevisionStartupSize", size()); +} void SwitchWorkspaceRevision::triggerRevisionSearch() {