# # # patch "res/forms/dialogs/open_prompt.ui" # from [d03d1fa4d28bec1f2eae963e36f3e11e4049482e] # to [0392f308c05e7c42374533914ca2f232e160d51a] # # patch "src/model/Certs.h" # from [50f3a40de5f13beacab4d493ea76f048a29c2cb1] # to [c901769af93c65badfa8c39fb45a4fc3b13da55e] # # patch "src/monotone/MonotoneHandle.h" # from [bd2012e7f3e4d0a01b5278769a3f5b2a3f286c15] # to [17bc070f1e4fdbdf59b69c4d513bc5ad37b21764] # # patch "src/monotone/MonotoneProcess.h" # from [664d0835886316c1c1f6e8a3d2ddf0bed45b9c3d] # to [ccc3a5fb15f0fcaa1ffbcb409e3fa6537b60cc7b] # # patch "src/monotone/MonotoneUtil.h" # from [7417adbb40b4979038ad7fe7bee4d312bf67b063] # to [95a654c700e6df18c743ccca374282d7ee7285d5] # # patch "src/monotone/WorkspaceCommitter.cpp" # from [cb0da33d9dd131382974d8b35438c473e5d03fb0] # to [cfd0c122e1fe51e38a3247d54701db8712b4cfb4] # # patch "src/view/dialogs/ChangesetBrowser.cpp" # from [8f22145946d657f88c9345df96140e36d4541f68] # to [a1cdb34db303a5c13ff737de8b16357163e5a6c6] # # patch "src/view/dialogs/CreateDatabase.cpp" # from [717f464eba28ebbe024b734c67db6f11727efb02] # to [cf9039397f04ce3a7ae99d504e4eb133ad7d3801] # # patch "src/view/dialogs/DatabaseDialogManager.cpp" # from [01c9da3b06810d41ac0de709397484c157ccaa48] # to [72e1510e28da336c721c0ba8938ec78dad776d50] # # patch "src/view/dialogs/DatabaseDialogManager.h" # from [1fdb888a64383ea23f2353bade4c48838350f6de] # to [e4fc06163c99e62c43e3b7203c662dc40e87c0ad] # # patch "src/view/dialogs/KeyManagement.cpp" # from [e2a0a71a99464a3acf9ea4fdd62f1c4e0b03f5eb] # to [cc2041aa3b88e25af8d9e819fbc4a0d24b9b4c00] # # patch "src/view/dialogs/Netsync.cpp" # from [83f3780763f03bab0b4e1e26ad4041c5a34bc066] # to [f5ce68e830dcfd16b3b196f754062b51de0e6b43] # # patch "src/view/dialogs/NewProjectSetup.cpp" # from [29884e89698c44e6957de65a002cacf1e2c584a1] # to [e01886e02a2a056776200ba9579d1b84a72d236d] # # patch "src/view/dialogs/NewProjectSetup.h" # from [a438d90b69a566730ad4a3d9862188b267d7048b] # to [549751034cb18a8e1a02b06363d97318a9ddb7f7] # # patch "src/view/dialogs/OpenPrompt.h" # from [496152432c142d198f9d2d9fbff89caa1729c41c] # to [6d5d30a70469851c90e94c5e5d2e252dde59745f] # # patch "src/view/dialogs/RevisionManifest.cpp" # from [7414a9f682a105a38370ddba876dd259a532a002] # to [248c373b7306daa412d17fb076dfb29d2d27304b] # # patch "src/view/dialogs/ServerDialogManager.cpp" # from [1220d22709e882f2745861adfc8d7408189b00e5] # to [15db0849be6feaa2f91d82093a70a2d8399d060c] # # patch "src/view/dialogs/ServerDialogManager.h" # from [7cec8953b0e2e9e65adeed91c4fadf141bbccca6] # to [1e7e60248dd468ad6d2030412de33e32335a1fc9] # # patch "src/view/dialogs/UnaccountedRenames.cpp" # from [b61c61af418700ff7fb3b7bd199cbfc73a67b065] # to [a5e3a1a251fba9c135466994310344f239851567] # # patch "src/view/dialogs/WorkspaceDialogManager.cpp" # from [9cf0964fe75f6e3cb4010d2d87090612a24eaad7] # to [55b57c63cd0f05cbca8aa31840405f4491c4c591] # # patch "src/view/mainwindows/DatabaseWindow.cpp" # from [1b6f36a8c142ed4ab0f731b13c4c9b707870036d] # to [354dab579537397804c14943e4afcb0f90e6f33a] # # patch "src/view/mainwindows/DatabaseWindow.h" # from [b8ddd05db7728d9f61015243934b874443793b3d] # to [1e9e92bd3ca24817bccaadcdb8b843f4b2709c83] # # patch "src/view/mainwindows/ServerWindow.cpp" # from [cba3ef1f19831c59332d58d68f7c14457497218d] # to [3c87001777b8618399754367c547927eba75eadf] # # patch "src/view/mainwindows/WorkspaceWindow.cpp" # from [57032c33f3d551f0ea53b66b350f8cb7075f9c27] # to [6f381ac342746d4449e31646564ad57be4d50cf7] # # patch "src/view/panels/NodeInfo.cpp" # from [725716d4a5da526c6e59ebffa7382c03fb1706de] # to [15616533343a9ef542a0de22dc4f738a1fd8d9d7] # # patch "src/view/widgets/CertListBrowser.h" # from [4239a26eceecd5d00e334b517024b126a3193f26] # to [e2d6dbb615f76e03d43d165a4663d2e0a7441ed6] # # patch "src/vocab.h" # from [6d7889ef50ac0ea2b509b5930cddfd2efc118880] # to [167b8a99825b50f32712ab63f5b23271d35c6159] # ============================================================ --- res/forms/dialogs/open_prompt.ui d03d1fa4d28bec1f2eae963e36f3e11e4049482e +++ res/forms/dialogs/open_prompt.ui 0392f308c05e7c42374533914ca2f232e160d51a @@ -12,8 +12,8 @@ 0 0 - 491 - 517 + 560 + 605 @@ -280,13 +280,13 @@ If you previously checked out a workspac - + false - Recent connections... + Recent servers... ============================================================ --- src/model/Certs.h 50f3a40de5f13beacab4d493ea76f048a29c2cb1 +++ src/model/Certs.h c901769af93c65badfa8c39fb45a4fc3b13da55e @@ -19,8 +19,9 @@ #ifndef CERTS_H #define CERTS_H -#include "AutomateCommand.h" #include "vocab.h" +#include "CertList.h" +#include "AutomateCommand.h" #include ============================================================ --- src/monotone/MonotoneHandle.h bd2012e7f3e4d0a01b5278769a3f5b2a3f286c15 +++ src/monotone/MonotoneHandle.h 17bc070f1e4fdbdf59b69c4d513bc5ad37b21764 @@ -23,6 +23,15 @@ class MonotoneHandle class MonotoneHandle { +public: + enum Type { workspace_handle, database_handle, server_handle } type; + + Type getType() const { return type; } + QString getData() const { return data; } + + static MonotoneHandlePtr create(const QString &); + +private: QString data; MonotoneHandle(const QString &, Type); @@ -31,13 +40,6 @@ class MonotoneHandle static void validateServerConnection(const QString &); static void resolveDatabaseAlias(QString &); -public: - enum Type { workspace_handle, database_handle, server_handle } type; - - Type getType() const { return type; } - QString getData() const { return data; } - - static MonotoneHandlePtr create(const QString &); }; #endif ============================================================ --- src/monotone/MonotoneProcess.h 664d0835886316c1c1f6e8a3d2ddf0bed45b9c3d +++ src/monotone/MonotoneProcess.h ccc3a5fb15f0fcaa1ffbcb409e3fa6537b60cc7b @@ -19,6 +19,7 @@ #ifndef MONOTONE_PROCESS_H #define MONOTONE_PROCESS_H +#include "vocab.h" #include "MonotoneResourceFile.h" #include ============================================================ --- src/monotone/MonotoneUtil.h 7417adbb40b4979038ad7fe7bee4d312bf67b063 +++ src/monotone/MonotoneUtil.h 95a654c700e6df18c743ccca374282d7ee7285d5 @@ -20,6 +20,7 @@ #define MONOTONE_UTIL_H #include "vocab.h" +#include "CertList.h" #include "MonotoneThread.h" #include @@ -45,7 +46,7 @@ public: static QStringList getRoots(const MonotoneHandlePtr &, bool &); static QStringList topsortRevisions(const MonotoneHandlePtr &, const QStringList &); static QStringList getCommonAncestors(const MonotoneHandlePtr &, const QStringList &); - static bool getFileAttribute(const MonotoneHandlePtr &, const QString &, const QString &, QPair &); + static bool getFileAttribute(const MonotoneHandlePtr &, const QString &, const QString &, const QString &, QPair &); static QMap getDatabaseVariables(const MonotoneHandlePtr &, const QString &); // FIXME: decide what to do with that ============================================================ --- src/monotone/WorkspaceCommitter.cpp cb0da33d9dd131382974d8b35438c473e5d03fb0 +++ src/monotone/WorkspaceCommitter.cpp cfd0c122e1fe51e38a3247d54701db8712b4cfb4 @@ -25,7 +25,10 @@ WorkspaceCommitter::WorkspaceCommitter(c WorkspaceCommitter::WorkspaceCommitter(const MonotoneHandlePtr & handle, const GetRevision * model) - : QObject(0), monotoneHandle(handle), revModel(model) {} + : QObject(0), monotoneHandle(handle), revModel(model) +{ + I(monotoneHandle->getType() == MonotoneHandle::workspace_handle); +} WorkspaceCommitter::~WorkspaceCommitter() {} @@ -109,7 +112,7 @@ bool WorkspaceCommitter::writeRevision(c bool WorkspaceCommitter::writeRevision(const QString & revisionId) { - QDir workspaceDir(monotoneHandle); + QDir workspaceDir(monotoneHandle->getData()); I(workspaceDir.cd("_MTN")); QFile file(workspaceDir.filePath("revision")); @@ -144,7 +147,7 @@ bool WorkspaceCommitter::writeOptions(co bool WorkspaceCommitter::writeOptions(const QMap & certs) { - QDir workspaceDir(monotoneHandle); + QDir workspaceDir(monotoneHandle->getData()); I(workspaceDir.cd("_MTN")); QFile file(workspaceDir.filePath("options")); @@ -182,7 +185,7 @@ bool WorkspaceCommitter::putFile(const Q const QString & fileId, const QString & baseId) { - QDir workspaceDir(monotoneHandle); + QDir workspaceDir(monotoneHandle->getData()); QFile file(workspaceDir.filePath(fileName)); if (!file.exists()) { ============================================================ --- src/view/dialogs/ChangesetBrowser.cpp 8f22145946d657f88c9345df96140e36d4541f68 +++ src/view/dialogs/ChangesetBrowser.cpp a1cdb34db303a5c13ff737de8b16357163e5a6c6 @@ -380,6 +380,12 @@ void ChangesetBrowser::revisionViewConte QAction * actShowFileDiff = menu.addAction(tr("Show differences")); QAction * actAnnotate = menu.addAction(tr("Annotate")); + // FIXME: change this as soon as there is an automate annotate + if (monotoneHandle->getType() == MonotoneHandle::server_handle) + { + actAnnotate->setEnabled(false); + } + actShowFileDiff->setFont(activeFont); QAction * act = menu.exec(pos); ============================================================ --- src/view/dialogs/CreateDatabase.cpp 717f464eba28ebbe024b734c67db6f11727efb02 +++ src/view/dialogs/CreateDatabase.cpp cf9039397f04ce3a7ae99d504e4eb133ad7d3801 @@ -99,7 +99,7 @@ void CreateDatabase::accept() params << "handle" << "init" << "-d" << filePath; QString output; - bool res = MonotoneProcess::singleRun(params, QString(), output); + bool res = MonotoneProcess::singleRun(params, MonotoneHandlePtr(), output); if (!res) { ============================================================ --- src/view/dialogs/DatabaseDialogManager.cpp 01c9da3b06810d41ac0de709397484c157ccaa48 +++ src/view/dialogs/DatabaseDialogManager.cpp 72e1510e28da336c721c0ba8938ec78dad776d50 @@ -151,7 +151,9 @@ void DatabaseDialogManager::showCheckout showDialog(checkoutRevision); } -void DatabaseDialogManager::showFileDiff(const QString & file, const QString & base, const QString & target) +void DatabaseDialogManager::showFileDiff(const QString & file, + const QString & base, + const QString & target) { if (!fileDiff) { @@ -162,7 +164,8 @@ void DatabaseDialogManager::showFileDiff showDialog(fileDiff); } -void DatabaseDialogManager::showFileHistory(const QString & file, const QString & startRevision) +void DatabaseDialogManager::showFileHistory(const QString & file, + const QString & startRevision) { if (!fileHistory) { @@ -235,7 +238,9 @@ void DatabaseDialogManager::showKeyManag showDialog(keyManagement); } -void DatabaseDialogManager::showRevisionDiff(const QString & path, const QString & base, const QString & target) +void DatabaseDialogManager::showRevisionDiff(const QString & path, + const QString & base, + const QString & target) { if (!revisionDiff) { @@ -324,7 +329,8 @@ void DatabaseDialogManager::showNewProje showDialog(newProjectSetup); } -void DatabaseDialogManager::showAnnotation(const QString & rev, const QString & file) +void DatabaseDialogManager::showAnnotation(const QString & rev, + const QString & file) { if (!annotateFile) { @@ -360,7 +366,8 @@ void DatabaseDialogManager::showAnnotati showDialog(annotateFile); } -void DatabaseDialogManager::showCreateCert(const QString & rev, const QString & certName) +void DatabaseDialogManager::showCreateCert(const QString & rev, + const QString & certName) { if (!createCert) { ============================================================ --- src/view/dialogs/DatabaseDialogManager.h 1fdb888a64383ea23f2353bade4c48838350f6de +++ src/view/dialogs/DatabaseDialogManager.h e4fc06163c99e62c43e3b7203c662dc40e87c0ad @@ -56,13 +56,13 @@ public slots: public slots: void showChangesetBrowser(); void showCheckoutRevision(); - virtual void showFileDiff(const QString & file, const QString & base, const QString & target); + void showFileDiff(const QString & file, const QString & base, const QString & target); void showFileHistory(const QString & file, const QString & startRevision); void showGenerateKeypair(); void showNetsync(); void showNewProjectSetup(); void showKeyManagement(); - virtual void showRevisionDiff(const QString & path, const QString & base, const QString & target); + void showRevisionDiff(const QString & path, const QString & base, const QString & target); void showRevisionManifest(const QString & revision); void showSelectRevision(); void showSelectRevision(const QString & selector); ============================================================ --- src/view/dialogs/KeyManagement.cpp e2a0a71a99464a3acf9ea4fdd62f1c4e0b03f5eb +++ src/view/dialogs/KeyManagement.cpp cc2041aa3b88e25af8d9e819fbc4a0d24b9b4c00 @@ -198,9 +198,9 @@ void KeyManagement::copyPubkeyDataToClip QStringList args; QString output; - args << "-d" << monotoneHandle << "pubkey" << key->hash; + args << "pubkey" << key->hash; - if (!MonotoneProcess::singleRun(args, QString(), output)) + if (!MonotoneProcess::singleRun(args, monotoneHandle, output)) { QMessageBox::critical( this, @@ -273,10 +273,10 @@ void KeyManagement::dropKey() } QStringList args; - args << "-d" << monotoneHandle << "dropkey" << key->hash; + args << "dropkey" << key->hash; QString output; - if (!MonotoneProcess::singleRun(args, QString(), output)) + if (!MonotoneProcess::singleRun(args, monotoneHandle, output)) { QMessageBox::critical( this, ============================================================ --- src/view/dialogs/Netsync.cpp 83f3780763f03bab0b4e1e26ad4041c5a34bc066 +++ src/view/dialogs/Netsync.cpp f5ce68e830dcfd16b3b196f754062b51de0e6b43 @@ -46,10 +46,10 @@ void Netsync::init() progressWidget->hide(); QMap defaults = - MonotoneUtil::getDatabaseVariables(handle, "database"); + MonotoneUtil::getDatabaseVariables(monotoneHandle, "database"); QList knownServers = - (MonotoneUtil::getDatabaseVariables(handle, "known-servers")).keys(); + (MonotoneUtil::getDatabaseVariables(monotoneHandle, "known-servers")).keys(); includePattern->setText(defaults.contains("default-include-pattern") ? defaults["default-include-pattern"] : "*"); @@ -70,7 +70,7 @@ void Netsync::init() } QMap privateKeys = - MonotoneUtil::getPrivateKeyMap(handle); + MonotoneUtil::getPrivateKeyMap(monotoneHandle); keys->clear(); keys->addItem(tr(""), QString()); ============================================================ --- src/view/dialogs/NewProjectSetup.cpp 29884e89698c44e6957de65a002cacf1e2c584a1 +++ src/view/dialogs/NewProjectSetup.cpp e01886e02a2a056776200ba9579d1b84a72d236d @@ -41,7 +41,7 @@ void NewProjectSetup::init() void NewProjectSetup::init() { branch->clear(); - monotoneHandle->clear(); + workspacePath->clear(); } void NewProjectSetup::doSelectDirectory() @@ -52,7 +52,7 @@ void NewProjectSetup::doSelectDirectory( if (!path.isEmpty()) { - monotoneHandle->setText(path); + workspacePath->setText(path); } } @@ -74,7 +74,7 @@ void NewProjectSetup::accept() QDir workspaceDir; try { - workspaceDir = Platform::safeMakePath(monotoneHandle->text()); + workspaceDir = Platform::safeMakePath(workspacePath->text()); } catch (GuitoneException & e) { @@ -88,7 +88,9 @@ void NewProjectSetup::accept() return; } - if (!WorkspaceCreator::createBookkeepingDirectory(workspaceDir, handle, branchName)) + if (!WorkspaceCreator::createBookkeepingDirectory(workspaceDir, + monotoneHandle, + branchName)) { QMessageBox::critical( this, ============================================================ --- src/view/dialogs/NewProjectSetup.h a438d90b69a566730ad4a3d9862188b267d7048b +++ src/view/dialogs/NewProjectSetup.h 549751034cb18a8e1a02b06363d97318a9ddb7f7 @@ -35,7 +35,7 @@ private: void newProjectCreated(const QString &); private: - MonotoneHandlePtr db; + MonotoneHandlePtr monotoneHandle; private slots: void doSelectDirectory(); ============================================================ --- src/view/dialogs/OpenPrompt.h 496152432c142d198f9d2d9fbff89caa1729c41c +++ src/view/dialogs/OpenPrompt.h 6d5d30a70469851c90e94c5e5d2e252dde59745f @@ -42,7 +42,7 @@ private slots: void newServerConnection(); void recentDatabasesChanged(int); void recentWorkspacesChanged(int); - void recentConnectionsChanged(int); + void recentServersChanged(int); private: DialogManager * dialogManager; ============================================================ --- src/view/dialogs/RevisionManifest.cpp 7414a9f682a105a38370ddba876dd259a532a002 +++ src/view/dialogs/RevisionManifest.cpp 248c373b7306daa412d17fb076dfb29d2d27304b @@ -28,7 +28,7 @@ #include #include -RevisionManifest::RevisionManifest(QWidget * parent, const QString & handle) +RevisionManifest::RevisionManifest(QWidget * parent, const MonotoneHandlePtr & handle) : Dialog(parent), monotoneHandle(handle) { setupUi(this); @@ -76,10 +76,12 @@ void RevisionManifest::openFile(const QM ManifestEntry * entry = static_cast(index.internalPointer()); - // return silently + // ignore silently if (entry->is_directory) return; - MonotoneTaskPtr task(new MonotoneTask(QStringList() << "get_file" << entry->hash)); + MonotoneTaskPtr task(new MonotoneTask( + QStringList() << "get_file" << entry->hash + )); MonotoneUtil::runSynchronousTask(monotoneHandle, task); if (!task->isFinished()) F("task aborted"); @@ -189,6 +191,12 @@ void RevisionManifest::contextMenuReques actAnnotate = menu.addAction(tr("Annotate")); actOpenFile->setFont(activeFont); menu.addSeparator(); + + // FIXME: change this as soon as there is an automate annotate + if (monotoneHandle->getType() == MonotoneHandle::server_handle) + { + actAnnotate->setEnabled(false); + } } QAction * actSaveSelected = menu.addAction(tr("Save selected")); ============================================================ --- src/view/dialogs/ServerDialogManager.cpp 1220d22709e882f2745861adfc8d7408189b00e5 +++ src/view/dialogs/ServerDialogManager.cpp 15db0849be6feaa2f91d82093a70a2d8399d060c @@ -21,10 +21,8 @@ ServerDialogManager::ServerDialogManager ServerDialogManager::ServerDialogManager(QWidget * parent) : DialogManager(parent), changesetBrowser(0), - checkoutRevision(0), fileDiff(0), fileHistory(0), generateKeypair(0), - netsync(0), keyManagement(0), revisionDiff(0), - revisionManifest(0), selectRevision(0), newProjectSetup(0), - annotateFile(0), createCert(0) + fileDiff(0), fileHistory(0), netsync(0), revisionDiff(0), + revisionManifest(0), selectRevision(0), createCert(0) {} ServerDialogManager::~ServerDialogManager() @@ -35,34 +33,24 @@ void ServerDialogManager::cleanup() void ServerDialogManager::cleanup() { if (changesetBrowser) { delete changesetBrowser; changesetBrowser = 0; } - if (checkoutRevision) { delete checkoutRevision; checkoutRevision = 0; } if (fileDiff) { delete fileDiff; fileDiff = 0; } if (fileHistory) { delete fileHistory; fileHistory = 0; } - if (generateKeypair) { delete generateKeypair; generateKeypair = 0; } if (netsync) { delete netsync; netsync = 0; } - if (keyManagement) { delete keyManagement; keyManagement = 0; } if (revisionDiff) { delete revisionDiff; revisionDiff = 0; } if (revisionManifest) { delete revisionManifest; revisionManifest = 0; } if (selectRevision) { delete selectRevision; selectRevision = 0; } - if (newProjectSetup) { delete newProjectSetup; newProjectSetup = 0; } - if (annotateFile) { delete annotateFile; annotateFile = 0; } if (createCert) { delete createCert; createCert = 0; } } void ServerDialogManager::closeAllDialogs() { if (changesetBrowser) changesetBrowser->close(); - if (checkoutRevision) checkoutRevision->close(); if (fileDiff) fileDiff->close(); if (fileHistory) fileHistory->close(); - if (generateKeypair) generateKeypair->close(); if (netsync) netsync->close(); - if (keyManagement) keyManagement->close(); if (revisionDiff) revisionDiff->close(); if (revisionManifest) revisionManifest->close(); if (selectRevision) selectRevision->close(); - if (newProjectSetup) newProjectSetup->close(); - if (annotateFile) annotateFile->close(); if (createCert) createCert->close(); DialogManager::closeAllDialogs(); @@ -103,11 +91,6 @@ void ServerDialogManager::showChangesetB ); connect( - changesetBrowser, SIGNAL(annotateFile(const QString &, const QString &)), - this, SLOT(showAnnotation(const QString &, const QString &)) - ); - - connect( changesetBrowser, SIGNAL(createCert(const QString &, const QString &)), this, SLOT(showCreateCert(const QString &, const QString &)) ); @@ -124,45 +107,21 @@ void ServerDialogManager::showChangesetB showDialog(changesetBrowser); } - -void ServerDialogManager::showCheckoutRevision() +void ServerDialogManager::showFileDiff(const QString & file, + const QString & base, + const QString & target) { - if (!checkoutRevision) - { - checkoutRevision = new CheckoutRevision(parentWidget(), monotoneHandle); - - connect( - checkoutRevision, SIGNAL(selectRevisionFromSelector(const QString &)), - this, SLOT(showSelectRevision(const QString &)) - ); - - // delegate this further - connect( - checkoutRevision, SIGNAL(revisionCheckedOut(const QString &)), - this, SIGNAL(revisionCheckedOut(const QString &)) - ); - - connect( - this, SIGNAL(revisionSelected(const QString &)), - checkoutRevision, SLOT(setSelectedRevision(const QString &)) - ); - } - - showDialog(checkoutRevision); -} - -void ServerDialogManager::showFileDiff(const QString & file, const QString & base, const QString & target) -{ if (!fileDiff) { fileDiff = new FileDiff(parentWidget()); } - fileDiff->forDatabase(monotoneHandle, file, base, target); + fileDiff->init(monotoneHandle, file, base, target); showDialog(fileDiff); } -void ServerDialogManager::showFileHistory(const QString & file, const QString & startRevision) +void ServerDialogManager::showFileHistory(const QString & file, + const QString & startRevision) { if (!fileHistory) { @@ -178,21 +137,6 @@ void ServerDialogManager::showFileHistor showDialog(fileHistory); } -void ServerDialogManager::showGenerateKeypair() -{ - if (!generateKeypair) - { - generateKeypair = new GenerateKeypair(parentWidget(), monotoneHandle); - - connect( - generateKeypair, SIGNAL(keypairGenerated(const QString &)), - this, SIGNAL(keypairGenerated(const QString &)) - ); - } - - showDialog(generateKeypair); -} - void ServerDialogManager::showNetsync() { if (!netsync) @@ -204,39 +148,10 @@ void ServerDialogManager::showNetsync() showDialog(netsync); } -void ServerDialogManager::showKeyManagement() +void ServerDialogManager::showRevisionDiff(const QString & path, + const QString & base, + const QString & target) { - if (!keyManagement) - { - keyManagement = new KeyManagement(parentWidget(), monotoneHandle); - - connect( - keyManagement, SIGNAL(generateKeypair()), - this, SLOT(showGenerateKeypair()) - ); - - connect( - keyManagement, SIGNAL(changeKeyPassword(const QString &)), - this, SLOT(showChangeKeyPassword(const QString &)) - ); - - connect( - this, SIGNAL(keyPasswordChanged(const QString &)), - keyManagement, SLOT(readKeys()) - ); - - connect( - this, SIGNAL(keypairGenerated(const QString &)), - keyManagement, SLOT(readKeys()) - ); - } - - keyManagement->readKeys(); - showDialog(keyManagement); -} - -void ServerDialogManager::showRevisionDiff(const QString & path, const QString & base, const QString & target) -{ if (!revisionDiff) { revisionDiff = new RevisionDiff(parentWidget()); @@ -247,7 +162,7 @@ void ServerDialogManager::showRevisionDi ); } - revisionDiff->forDatabase(monotoneHandle, path, base, target); + revisionDiff->init(monotoneHandle, path, base, target); showDialog(revisionDiff); } @@ -261,11 +176,6 @@ void ServerDialogManager::showRevisionMa revisionManifest, SIGNAL(fileHistory(const QString &, const QString &)), this, SLOT(showFileHistory(const QString &, const QString &)) ); - - connect( - revisionManifest, SIGNAL(annotateFile(const QString &, const QString &)), - this, SLOT(showAnnotation(const QString &, const QString &)) - ); } revisionManifest->readManifest(revision); @@ -307,61 +217,9 @@ void ServerDialogManager::showSelectRevi showDialog(selectRevision); } -void ServerDialogManager::showNewProjectSetup() +void ServerDialogManager::showCreateCert(const QString & rev, + const QString & certName) { - if (!newProjectSetup) - { - newProjectSetup = new NewProjectSetup(parentWidget(), monotoneHandle); - - // delegate this further - connect( - newProjectSetup, SIGNAL(newProjectCreated(const QString &)), - this, SIGNAL(newProjectCreated(const QString &)) - ); - } - - newProjectSetup->init(); - showDialog(newProjectSetup); -} - -void ServerDialogManager::showAnnotation(const QString & rev, const QString & file) -{ - if (!annotateFile) - { - annotateFile = new AnnotateFile(parentWidget(), monotoneHandle); - - connect( - annotateFile, SIGNAL(selectRevision()), - this, SLOT(showSelectRevision()) - ); - - connect( - this, SIGNAL(revisionSelected(const QString &)), - annotateFile, SLOT(setSelectedRevision(const QString &)) - ); - - connect( - annotateFile, SIGNAL(revisionManifest(const QString &)), - this, SLOT(showRevisionManifest(const QString &)) - ); - - connect( - annotateFile, SIGNAL(revisionDiff(const QString &, const QString &, const QString &)), - this, SLOT(showRevisionDiff(const QString &, const QString &, const QString &)) - ); - - connect( - annotateFile, SIGNAL(fileDiff(const QString &, const QString &, const QString &)), - this, SLOT(showFileDiff(const QString &, const QString &, const QString &)) - ); - } - - annotateFile->read(rev, file); - showDialog(annotateFile); -} - -void ServerDialogManager::showCreateCert(const QString & rev, const QString & certName) -{ if (!createCert) { createCert = new CreateCert(parentWidget(), monotoneHandle); ============================================================ --- src/view/dialogs/ServerDialogManager.h 7cec8953b0e2e9e65adeed91c4fadf141bbccca6 +++ src/view/dialogs/ServerDialogManager.h 1e7e60248dd468ad6d2030412de33e32335a1fc9 @@ -21,17 +21,12 @@ #include "DialogManager.h" #include "ChangesetBrowser.h" -#include "CheckoutRevision.h" #include "FileDiff.h" #include "FileHistory.h" -#include "GenerateKeypair.h" #include "Netsync.h" -#include "KeyManagement.h" #include "RevisionDiff.h" #include "RevisionManifest.h" #include "SelectRevision.h" -#include "NewProjectSetup.h" -#include "AnnotateFile.h" #include "CreateCert.h" class ServerDialogManager : public DialogManager @@ -47,41 +42,28 @@ signals: //! delegated signals signals: void revisionSelected(const QString &); - void revisionCheckedOut(const QString &); - void newProjectCreated(const QString &); - void keypairGenerated(const QString &); void certCreated(const QString &, const QString &, const QString &, const QString &); public slots: void showChangesetBrowser(); - void showCheckoutRevision(); - virtual void showFileDiff(const QString & file, const QString & base, const QString & target); + void showFileDiff(const QString & file, const QString & base, const QString & target); void showFileHistory(const QString & file, const QString & startRevision); - void showGenerateKeypair(); void showNetsync(); - void showNewProjectSetup(); - void showKeyManagement(); - virtual void showRevisionDiff(const QString & path, const QString & base, const QString & target); + void showRevisionDiff(const QString & path, const QString & base, const QString & target); void showRevisionManifest(const QString & revision); void showSelectRevision(); void showSelectRevision(const QString & selector); - void showAnnotation(const QString &, const QString &); void showCreateCert(const QString & rev, const QString & certName = QString()); protected: ChangesetBrowser * changesetBrowser; - CheckoutRevision * checkoutRevision; FileDiff * fileDiff; FileHistory * fileHistory; - GenerateKeypair * generateKeypair; Netsync * netsync; - KeyManagement * keyManagement; RevisionDiff * revisionDiff; RevisionManifest * revisionManifest; SelectRevision * selectRevision; - NewProjectSetup * newProjectSetup; - AnnotateFile * annotateFile; CreateCert * createCert; private: ============================================================ --- src/view/dialogs/UnaccountedRenames.cpp b61c61af418700ff7fb3b7bd199cbfc73a67b065 +++ src/view/dialogs/UnaccountedRenames.cpp a5e3a1a251fba9c135466994310344f239851567 @@ -23,8 +23,8 @@ #include #include -UnaccountedRenames::UnaccountedRenames(QWidget * parent, const MonotoneHandlePtr & path) - : Dialog(parent), monotoneHandle(path), inventory(0) +UnaccountedRenames::UnaccountedRenames(QWidget * parent, const MonotoneHandlePtr & handle) + : Dialog(parent), monotoneHandle(handle), inventory(0) { setupUi(this); Dialog::init(); ============================================================ --- src/view/dialogs/WorkspaceDialogManager.cpp 9cf0964fe75f6e3cb4010d2d87090612a24eaad7 +++ src/view/dialogs/WorkspaceDialogManager.cpp 55b57c63cd0f05cbca8aa31840405f4491c4c591 @@ -73,7 +73,7 @@ void WorkspaceDialogManager::showFileDif void WorkspaceDialogManager::showFileDiff(const QString & file) { - showFileDiff(file, QString(), QString()); + DatabaseDialogManager::showFileDiff(file, QString(), QString()); } void WorkspaceDialogManager::showFileHistory(const QString & file) ============================================================ --- src/view/mainwindows/DatabaseWindow.cpp 1b6f36a8c142ed4ab0f731b13c4c9b707870036d +++ src/view/mainwindows/DatabaseWindow.cpp 354dab579537397804c14943e4afcb0f90e6f33a @@ -153,22 +153,21 @@ void DatabaseWindow::load(const Monotone void DatabaseWindow::load(const MonotoneHandlePtr & handle) { I(handle->getType() == MonotoneHandle::workspace_handle); - APP->manager()->getThread(handle); + monotoneHandle = handle; - monotoneHandle = path; + QString dbpath = handle->getData(); + loadedDbLabel->setText(dbpath); - loadedDbLabel->setText(path); - - QFileInfo fi(path); + QFileInfo fi(dbpath); setWindowTitle( tr("%1 - database mode - guitone").arg(fi.fileName()) ); - Settings::addItemToList("RecentDatabaseList", path, 5); + Settings::addItemToList("RecentDatabaseList", dbpath, 5); reinterpret_cast(dialogManager)->init(monotoneHandle); - databaseVariables->setMonotoneHandlePtr(monotoneHandle); + databaseVariables->setMonotoneHandle(monotoneHandle); QTimer::singleShot(0, this, SLOT(checkForEmptyDatabase())); } ============================================================ --- src/view/mainwindows/DatabaseWindow.h b8ddd05db7728d9f61015243934b874443793b3d +++ src/view/mainwindows/DatabaseWindow.h 1e9e92bd3ca24817bccaadcdb8b843f4b2709c83 @@ -34,8 +34,7 @@ public: virtual void init(); virtual void setup(); - //! throws GuitoneException - virtual void load(const QString &); + virtual void load(const MonotoneHandlePtr &); protected: MonotoneHandlePtr monotoneHandle; ============================================================ --- src/view/mainwindows/ServerWindow.cpp cba3ef1f19831c59332d58d68f7c14457497218d +++ src/view/mainwindows/ServerWindow.cpp 3c87001777b8618399754367c547927eba75eadf @@ -25,7 +25,7 @@ ServerWindow::ServerWindow() : MainWindo #include ServerWindow::ServerWindow() : MainWindow(), - loadedDbLabel(0), revisionBrowser(0), netsyncDialog(0) + loadedServerLabel(0), revisionBrowser(0), netsyncDialog(0) { setObjectName("ServerWindow"); } @@ -71,7 +71,7 @@ void ServerWindow::setup() QVBoxLayout * vboxLayout = new QVBoxLayout(centralWidget); QGroupBox *loadedServerGroup = new QGroupBox(tr("Connected to server"), centralWidget); - vboxLayout->addWidget(loadedDbGroup); + vboxLayout->addWidget(loadedServerGroup); QVBoxLayout * vboxLayout1 = new QVBoxLayout(loadedServerGroup); loadedServerLabel = new QLabel(tr("not connected"), this); ============================================================ --- src/view/mainwindows/WorkspaceWindow.cpp 57032c33f3d551f0ea53b66b350f8cb7075f9c27 +++ src/view/mainwindows/WorkspaceWindow.cpp 6f381ac342746d4449e31646564ad57be4d50cf7 @@ -437,7 +437,7 @@ void WorkspaceWindow::openFile(const QSt void WorkspaceWindow::openFile(const QString & filePath) { - QString completePath = monotoneHandle + "/" + filePath; + QString completePath = monotoneHandle->getData() + "/" + filePath; QFileInfo fileInfo(completePath); if (!fileInfo.exists()) @@ -486,7 +486,7 @@ void WorkspaceWindow::deleteLocalPath(co void WorkspaceWindow::deleteLocalPath(const QString & path) { - QString completePath = monotoneHandle + "/" + path; + QString completePath = monotoneHandle->getData() + "/" + path; QMessageBox::StandardButton btn = QMessageBox::question( this, @@ -569,7 +569,7 @@ void WorkspaceWindow::workspaceUpdated(c // need to ensure that the new branch set by mtn update before // doesn't get overwritten by any next workspace command issued // over stdio - APP->manager()->stopWorkspaceThreads(monotoneHandle); + APP->manager()->stopThreads(monotoneHandle); setWindowTitle( tr("%1 - workspace mode - guitone"). ============================================================ --- src/view/panels/NodeInfo.cpp 725716d4a5da526c6e59ebffa7382c03fb1706de +++ src/view/panels/NodeInfo.cpp 15616533343a9ef542a0de22dc4f738a1fd8d9d7 @@ -63,7 +63,8 @@ void NodeInfo::readAndSetInfo() { if (inventoryItem == 0) return; - I(!monotoneHandle.isEmpty()); + I(!monotoneHandle.isNull() && + monotoneHandle->getType() == MonotoneHandle::workspace_handle); QString strLastChangeRevision("-"), strLastChangeAuthor("-"), @@ -137,8 +138,11 @@ void NodeInfo::readAndSetInfo() if (inventoryItem->getFSType() != InventoryItem::None) { - QFileInfo fileInfo(monotoneHandle + "/" + inventoryItem->getPath()); + QFileInfo fileInfo( + monotoneHandle->getData() + "/" + inventoryItem->getPath() + ); I(fileInfo.exists()); + strFileSize = QString("%1 KB").arg(fileInfo.size() / 1024); // FIXME: use Qt::DefaultLocaleShortDate if support for Qt 4.3 is dropped strFileLastModified = fileInfo.lastModified().toString(Qt::LocaleDate); ============================================================ --- src/view/widgets/CertListBrowser.h 4239a26eceecd5d00e334b517024b126a3193f26 +++ src/view/widgets/CertListBrowser.h e2d6dbb615f76e03d43d165a4663d2e0a7441ed6 @@ -20,6 +20,8 @@ #define CERT_LIST_BROWSER_H #include "vocab.h" +#include "CertList.h" + #include #include ============================================================ --- src/vocab.h 6d7889ef50ac0ea2b509b5930cddfd2efc118880 +++ src/vocab.h 167b8a99825b50f32712ab63f5b23271d35c6159 @@ -139,13 +139,19 @@ typedef QPair MessageP typedef QPair MessagePair; #include + class MonotoneThread; +typedef QSharedPointer MonotoneThreadPtr; + class MonotoneTask; -class MonotoneHandle; -typedef QSharedPointer MonotoneThreadPtr; typedef QSharedPointer MonotoneTaskPtr; + +class MonotoneHandle; typedef QSharedPointer MonotoneHandlePtr; +// this is used almost everywhere, so include it here +#include "MonotoneHandle.h" + #include class GuitoneException : public std::exception {