# # # patch "src/view/dialogs/ChangesetBrowser.cpp" # from [65ce06e79421562327de65c51f30824d09872b6e] # to [2e6ebcbf9cf3c8557199cfd64215b449f470e8aa] # # patch "src/view/dialogs/CheckoutRevision.cpp" # from [f86c498243bc38942db1db156570f7ad69a33710] # to [f7a2e8661c9967f13f1fd0fdf1203683b727bcd7] # # patch "src/view/dialogs/CommitRevision.cpp" # from [a34a5cf6b3ad753ebc31f762649b07741485c0e4] # to [463f13c67ffcd82374276d7100d6dd8ec3dd925c] # # patch "src/view/dialogs/DatabaseDialogManager.cpp" # from [6ad823d1e0878612f98b57b5bd8f76ef5735e1b6] # to [64b478b4bb569ad31b295761079b519205a7033a] # # patch "src/view/dialogs/DatabaseDialogManager.h" # from [12ede7ec64dbde1ccf7f01f0ce1226212b901c2e] # to [4a760e7161b0fa7d80f42cd072697d68b9fc7ab6] # # patch "src/view/dialogs/Dialog.cpp" # from [7c10962d1af8af6f21b89d61e44efb5e24229bc4] # to [ed207b6f0d3e748b39bbcd07174b557518e52550] # # patch "src/view/dialogs/Dialog.h" # from [0432741e08d4766aa9466215d3fd62fc38b0974d] # to [99c69a70477eb8ae638eed80a94766385f28667a] # # patch "src/view/dialogs/DialogManager.cpp" # from [db1d191bdd799b1a8480b3b581b5615ac91f291a] # to [90d6052ad4732ea509b6c5b906236c8ab1429fcc] # # patch "src/view/dialogs/DialogManager.h" # from [296e1da4e73cbe364e5eb7a2bce56e6eadba058a] # to [fadd225819f225b729781dfd66bd90f9f9f6164d] # # patch "src/view/dialogs/FileDiff.cpp" # from [dc2377a5e1bbfcddf4db4e3f6d23cee808ad7633] # to [436201edbe3071b7d9e8e8ed24310c7879f2a6a5] # # patch "src/view/dialogs/FileHistory.cpp" # from [c9986b8e23c8affd006a8b08ebad96432596b101] # to [482ad2f10378f7d1119fcef690e7df08ebbffda8] # # patch "src/view/dialogs/GenerateKeypair.cpp" # from [3965823bc057ebcbc648117d16379851a17881ba] # to [95a0048f05748ce4027fa0fdefb72516e516b25e] # # patch "src/view/dialogs/KeyManagement.cpp" # from [8260150c6e6d65065d01bbb1efb0bb32504454e3] # to [7cda3a6d4c571c101b0d35e328f251d41b7f3779] # # patch "src/view/dialogs/SelectRevision.cpp" # from [77d222ed00e18e8d24bdac799cb7680778e8a46e] # to [7824539bbb937823d488c289fc3d9ff2e1bcd792] # # patch "src/view/dialogs/UnaccountedRenames.cpp" # from [9369b4c063f6447ff9d6123962e1dd3d873cc4ff] # to [4ff91392b7562f86f5b07d4c90fe751727dc57a5] # # patch "src/view/dialogs/UpdateWorkspace.cpp" # from [9d353b9afac0edd6df5b39834a11bd20e34cde7c] # to [45eb6677d65feb3c3bbdf697ea88c5566ec36c02] # # patch "src/view/dialogs/WorkspaceDialogManager.cpp" # from [3da572eef7736e070a2e0ff02ca8165f19a1d9ec] # to [8e528b1a18e3d119b4b5ce771fa53b2be84711a9] # # patch "src/view/dialogs/WorkspaceDialogManager.h" # from [77e903becc6520994b3c567de4597affdf1ce84e] # to [83005973338a03cde630f2dea7a4115d21bb20a6] # ============================================================ --- src/view/dialogs/ChangesetBrowser.cpp 65ce06e79421562327de65c51f30824d09872b6e +++ src/view/dialogs/ChangesetBrowser.cpp 2e6ebcbf9cf3c8557199cfd64215b449f470e8aa @@ -27,9 +27,6 @@ ChangesetBrowser::ChangesetBrowser(QWidg setupUi(this); Dialog::init(); - // OSX sheet-alike dialog - setWindowFlags(Qt::Sheet); - this->setWindowFlags(this->windowFlags() | Qt::WindowMaximizeButtonHint); this->setWindowFlags(this->windowFlags() | Qt::WindowMinimizeButtonHint); innerSplitter->init(); ============================================================ --- src/view/dialogs/CheckoutRevision.cpp f86c498243bc38942db1db156570f7ad69a33710 +++ src/view/dialogs/CheckoutRevision.cpp f7a2e8661c9967f13f1fd0fdf1203683b727bcd7 @@ -31,9 +31,6 @@ CheckoutRevision::CheckoutRevision(QWidg setupUi(this); Dialog::init(); - // OSX sheet-alike dialog - setWindowFlags(Qt::Sheet); - branchesModel = new Branches(this, databaseFile, false); branchesModel->readBranches(); branchList->setModel(branchesModel); ============================================================ --- src/view/dialogs/CommitRevision.cpp a34a5cf6b3ad753ebc31f762649b07741485c0e4 +++ src/view/dialogs/CommitRevision.cpp 463f13c67ffcd82374276d7100d6dd8ec3dd925c @@ -34,9 +34,6 @@ CommitRevision::CommitRevision(QWidget * setupUi(this); Dialog::init(); - // OSX sheet-alike dialog - setWindowFlags(Qt::Sheet); - QStringList entries = Settings::getItemList("ChangelogEntries"); QRegExp re("\\s+"); ============================================================ --- src/view/dialogs/DatabaseDialogManager.cpp 6ad823d1e0878612f98b57b5bd8f76ef5735e1b6 +++ src/view/dialogs/DatabaseDialogManager.cpp 64b478b4bb569ad31b295761079b519205a7033a @@ -44,6 +44,21 @@ void DatabaseDialogManager::cleanup() if (selectRevision) { delete selectRevision; selectRevision = 0; } } +void DatabaseDialogManager::closeAllDialogs() +{ + if (changesetBrowser) changesetBrowser->close(); + if (checkoutRevision) checkoutRevision->close(); + if (fileDiff) fileDiff->close(); + if (fileHistory) fileHistory->close(); + if (generateKeypair) generateKeypair->close(); + if (keyManagement) keyManagement->close(); + if (revisionDiff) revisionDiff->close(); + if (revisionManifest) revisionManifest->close(); + if (selectRevision) selectRevision->close(); + + DialogManager::closeAllDialogs(); +} + void DatabaseDialogManager::init(const DatabaseFile & db) { databaseFile = db; @@ -61,7 +76,7 @@ void DatabaseDialogManager::showChangese ); } - changesetBrowser->execDocumentModal(); + changesetBrowser->show(); } void DatabaseDialogManager::showCheckoutRevision() @@ -82,7 +97,7 @@ void DatabaseDialogManager::showCheckout ); } - checkoutRevision->execDocumentModal(); + checkoutRevision->show(); } void DatabaseDialogManager::showFileDiff(const QString & file, const QString & base, const QString & target) @@ -93,7 +108,7 @@ void DatabaseDialogManager::showFileDiff } fileDiff->forDatabase(databaseFile, file, base, target); - fileDiff->execDocumentModal(); + fileDiff->show(); } void DatabaseDialogManager::showFileHistory(const QString & file, const QString & startRevision) @@ -109,7 +124,7 @@ void DatabaseDialogManager::showFileHist } fileHistory->readHistory(file, startRevision); - fileHistory->execDocumentModal(); + fileHistory->show(); } void DatabaseDialogManager::showGenerateKeypair() @@ -127,7 +142,7 @@ void DatabaseDialogManager::showGenerate } } - generateKeypair->execDocumentModal(); + generateKeypair->show(); } void DatabaseDialogManager::showKeyManagement() @@ -138,7 +153,7 @@ void DatabaseDialogManager::showKeyManag } keyManagement->readKeys(); - keyManagement->execDocumentModal(); + keyManagement->show(); } void DatabaseDialogManager::showRevisionDiff(const QString & file, const QString & base, const QString & target) @@ -149,7 +164,7 @@ void DatabaseDialogManager::showRevision } revisionDiff->forDatabase(databaseFile, file, base, target); - revisionDiff->execDocumentModal(); + revisionDiff->show(); } void DatabaseDialogManager::showRevisionManifest(const QString & revision) @@ -165,7 +180,7 @@ void DatabaseDialogManager::showRevision } revisionManifest->readManifest(revision); - revisionManifest->execDocumentModal(); + revisionManifest->show(); } void DatabaseDialogManager::showSelectRevision(const QString & selector) @@ -203,6 +218,6 @@ void DatabaseDialogManager::showSelectRe selectRevision->queryRevisions(selector); } - selectRevision->execDocumentModal(); + selectRevision->show(); } ============================================================ --- src/view/dialogs/DatabaseDialogManager.h 12ede7ec64dbde1ccf7f01f0ce1226212b901c2e +++ src/view/dialogs/DatabaseDialogManager.h 4a760e7161b0fa7d80f42cd072697d68b9fc7ab6 @@ -56,6 +56,8 @@ public slots: void showRevisionManifest(const QString &); void showSelectRevision(const QString &); + virtual void closeAllDialogs(); + protected: ChangesetBrowser * changesetBrowser; CheckoutRevision * checkoutRevision; ============================================================ --- src/view/dialogs/Dialog.cpp 7c10962d1af8af6f21b89d61e44efb5e24229bc4 +++ src/view/dialogs/Dialog.cpp ed207b6f0d3e748b39bbcd07174b557518e52550 @@ -54,27 +54,6 @@ void Dialog::saveState(void) Settings::setWindowGeometry(saveGeometry(), objectName()); } -// On OSX this will allow the dialog to be display document modal, -// i.e. as a sheet coming out of the parent window. On other platforms -// this just emulates the behaviour of exec() by blocking until the -// finished() signal has been called -// For more info about document modal dialogs on OSX, go here: -// http://doc.trolltech.com/qq/qq18-macfeatures.html -int Dialog::execDocumentModal() -{ - // ensure that this is only called from top level windows - QWidget * parent = parentWidget(); - I(parent && parent->inherits("QMainWindow")); - MainWindow * wnd = qobject_cast(parent); - I(wnd); - - show(); - SignalWaiter waiter(this, SIGNAL(finished(int))); - waiter.wait(); - - return result(); -} - void Dialog::setStayOnTop() { if (isVisible()) return; ============================================================ --- src/view/dialogs/Dialog.h 0432741e08d4766aa9466215d3fd62fc38b0974d +++ src/view/dialogs/Dialog.h 99c69a70477eb8ae638eed80a94766385f28667a @@ -22,6 +22,9 @@ #define DIALOG_H #include +#include +#include +#include class Dialog : public QDialog { ============================================================ --- src/view/dialogs/DialogManager.cpp db1d191bdd799b1a8480b3b581b5615ac91f291a +++ src/view/dialogs/DialogManager.cpp 90d6052ad4732ea509b6c5b906236c8ab1429fcc @@ -35,13 +35,19 @@ QWidget * DialogManager::parentWidget() return reinterpret_cast(parent()); } +void DialogManager::closeAllDialogs() +{ + if (about) about->close(); + if (preferences) preferences->close(); +} + void DialogManager::showAbout() { if (!about) { about = new About(parentWidget()); } - about->execDocumentModal(); + about->show(); } void DialogManager::showPreferences() @@ -50,6 +56,6 @@ void DialogManager::showPreferences() { preferences = new Preferences(parentWidget()); } - preferences->execDocumentModal(); + preferences->show(); } ============================================================ --- src/view/dialogs/DialogManager.h 296e1da4e73cbe364e5eb7a2bce56e6eadba058a +++ src/view/dialogs/DialogManager.h fadd225819f225b729781dfd66bd90f9f9f6164d @@ -38,6 +38,8 @@ public slots: void showAbout(); void showPreferences(); + virtual void closeAllDialogs(); + protected: QWidget * parentWidget() const; ============================================================ --- src/view/dialogs/FileDiff.cpp dc2377a5e1bbfcddf4db4e3f6d23cee808ad7633 +++ src/view/dialogs/FileDiff.cpp 436201edbe3071b7d9e8e8ed24310c7879f2a6a5 @@ -30,7 +30,7 @@ FileDiff::FileDiff(QWidget * parent) : D setupUi(this); Dialog::init(); - // make the line number col a little smaller + // make the line number col a little smaller diffView->header()->resizeSection(0, 40); connect( ============================================================ --- src/view/dialogs/FileHistory.cpp c9986b8e23c8affd006a8b08ebad96432596b101 +++ src/view/dialogs/FileHistory.cpp 482ad2f10378f7d1119fcef690e7df08ebbffda8 @@ -26,9 +26,6 @@ FileHistory::FileHistory(QWidget * paren setupUi(this); Dialog::init(); - // OSX sheet-alike dialog - setWindowFlags(Qt::Sheet); - splitter->init(); changeModel = new GetContentChanged(this, databaseFile); ============================================================ --- src/view/dialogs/GenerateKeypair.cpp 3965823bc057ebcbc648117d16379851a17881ba +++ src/view/dialogs/GenerateKeypair.cpp 95a0048f05748ce4027fa0fdefb72516e516b25e @@ -29,9 +29,6 @@ GenerateKeypair::GenerateKeypair(QWidget { setupUi(this); Dialog::init(); - - // OSX sheet-alike dialog - setWindowFlags(Qt::Sheet); } GenerateKeypair::~GenerateKeypair() {} ============================================================ --- src/view/dialogs/KeyManagement.cpp 8260150c6e6d65065d01bbb1efb0bb32504454e3 +++ src/view/dialogs/KeyManagement.cpp 7cda3a6d4c571c101b0d35e328f251d41b7f3779 @@ -33,9 +33,6 @@ KeyManagement::KeyManagement(QWidget * p setupUi(this); Dialog::init(); - // OSX sheet-alike dialog - setWindowFlags(Qt::Sheet); - model = new Keys(this, databaseFile); keyList->setModel(model); ============================================================ --- src/view/dialogs/SelectRevision.cpp 77d222ed00e18e8d24bdac799cb7680778e8a46e +++ src/view/dialogs/SelectRevision.cpp 7824539bbb937823d488c289fc3d9ff2e1bcd792 @@ -30,9 +30,6 @@ SelectRevision::SelectRevision(QWidget * setupUi(this); Dialog::init(); - // OSX sheet-alike dialog - setWindowFlags(Qt::Sheet); - splitter->init(); // add some items to the selector box ============================================================ --- src/view/dialogs/UnaccountedRenames.cpp 9369b4c063f6447ff9d6123962e1dd3d873cc4ff +++ src/view/dialogs/UnaccountedRenames.cpp 4ff91392b7562f86f5b07d4c90fe751727dc57a5 @@ -29,9 +29,6 @@ UnaccountedRenames::UnaccountedRenames(Q setupUi(this); Dialog::init(); - // OSX sheet-alike dialog - setWindowFlags(Qt::Sheet); - connect( renameTree, SIGNAL(itemClicked(QTreeWidgetItem *, int)), this, SLOT(itemClicked(QTreeWidgetItem *, int)) ============================================================ --- src/view/dialogs/UpdateWorkspace.cpp 9d353b9afac0edd6df5b39834a11bd20e34cde7c +++ src/view/dialogs/UpdateWorkspace.cpp 45eb6677d65feb3c3bbdf697ea88c5566ec36c02 @@ -31,9 +31,6 @@ UpdateWorkspace::UpdateWorkspace(QWidget setupUi(this); Dialog::init(); - // OSX sheet-alike dialog - setWindowFlags(Qt::Sheet); - updateToLatest->setText( updateToLatest->text().arg(MonotoneUtil::getBranchName(workspacePath)) ); ============================================================ --- src/view/dialogs/WorkspaceDialogManager.cpp 3da572eef7736e070a2e0ff02ca8165f19a1d9ec +++ src/view/dialogs/WorkspaceDialogManager.cpp 8e528b1a18e3d119b4b5ce771fa53b2be84711a9 @@ -38,6 +38,15 @@ void WorkspaceDialogManager::cleanup() if (updateWorkspace) { delete updateWorkspace; updateWorkspace = 0; } } +void WorkspaceDialogManager::closeAllDialogs() +{ + if (commitRevision) commitRevision->close(); + if (unaccountedRenames) unaccountedRenames->close(); + if (updateWorkspace) updateWorkspace->close(); + + DatabaseDialogManager::closeAllDialogs(); +} + void WorkspaceDialogManager::init(const WorkspacePath & path) { DatabaseDialogManager::init(APP->manager()->getDatabaseFilePath(path)); @@ -57,7 +66,7 @@ void WorkspaceDialogManager::showCommitR ); } - commitRevision->execDocumentModal(); + commitRevision->show(); } void WorkspaceDialogManager::showFileDiff(const QString & file) @@ -73,7 +82,7 @@ void WorkspaceDialogManager::showFileDif } fileDiff->forWorkspace(workspacePath, file, base, target); - fileDiff->execDocumentModal(); + fileDiff->show(); } void WorkspaceDialogManager::showFileHistory(const QString & file) @@ -90,7 +99,7 @@ void WorkspaceDialogManager::showRevisio } revisionDiff->forWorkspace(workspacePath, file, base, target); - revisionDiff->execDocumentModal(); + revisionDiff->show(); } void WorkspaceDialogManager::showUnaccountedRenames(const QMap & renames) { @@ -122,6 +131,6 @@ void WorkspaceDialogManager::showUpdateW } } - updateWorkspace->execDocumentModal(); + updateWorkspace->show(); } ============================================================ --- src/view/dialogs/WorkspaceDialogManager.h 77e903becc6520994b3c567de4597affdf1ce84e +++ src/view/dialogs/WorkspaceDialogManager.h 83005973338a03cde630f2dea7a4115d21bb20a6 @@ -51,6 +51,8 @@ public slots: void showFileHistory(const QString &); void showRevisionDiff(const QString &, const QString &, const QString &); + void closeAllDialogs(); + protected: CommitRevision * commitRevision; UnaccountedRenames * unaccountedRenames;