diff --git a/doc/Changes.txt b/doc/Changes.txt index 84a4850..ddd911d 100644 --- a/doc/Changes.txt +++ b/doc/Changes.txt @@ -1,10 +1,11 @@ -Fuel V0.9.7 (2012-XX-XX) +Fuel V0.9.7 (2013-XX-XX) ============ - Feature: Optionally use the internal browser for the Fossil UI - Feature: Support for persisting the state (Column order and sizes) of the File View - Feature: Dropping a fossil checkout file or workspace folder on Fuel now opens that workspace -- Feature: Commit Dialog: Pressing Ctrl-Enter within the comment box starts the commit - whereas pressing Escape aborts it +- Feature: Dropping a file on Fuel now adds that file to Fossil +- Feature: Commit Dialog: Pressing Ctrl-Enter within the comment box commences the commit + whereas Escape aborts it - Feature: Support for localization - Localisations: Greek diff --git a/manifest b/manifest index 4bf3f67..edc217e 100644 --- a/manifest +++ b/manifest @@ -1,9 +1,9 @@ -C Display\sonly\sthe\sfilename\swhen\sthe\sTreeView\sis\sactivated\n -D 2013-01-13T12:04:15.406 +C Added\ssupport\sfor\sadding\sfiles\sto\sFosill\svia\sdrag\sand\sdrop\n +D 2013-02-03T02:58:26.117 F dist/arch/PKGBUILD bf020b73b610f4c14e38feba027fe8f45b4fbc5c F dist/win/fuel.iss ef3558dbba409eb194938b930377fc9ee27d319e F doc/Building.txt 7c0f1060d4a08ed330058d4a3a68905c05228381 -F doc/Changes.txt b4494e409960f22705c8624eaa935e3f195df10b +F doc/Changes.txt a190c5c88663a52f3206f1970700fce0906c8ed9 F doc/License.txt 4cc77b90af91e615a64ae04893fdffa7939db84c F fuel.pro 9924b8c961a342363503827b42404d3e87e24a1a F intl/convert.bat 7e878e302a8be2324fd51b9eed1aab272dbd8bbd x @@ -186,7 +186,7 @@ F src/FileTableView.cpp 5ddf8c391c9a3ac449ec61fb1db837b577afeec2 F src/FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261 -F src/MainWindow.cpp e53a9785fe4541c23638126c3d2a69ad52e37b0a +F src/MainWindow.cpp e08adbae093d2a436d74666b7c7a3643cc5ad832 F src/MainWindow.h 9c70fd9db3bbd5f96132563819b50d21517aa740 F src/SettingsDialog.cpp 96650f3b7c24cb18bcf18def9860642bc58b9251 F src/SettingsDialog.h 01c1f876c64f750ba8820a0d745e377acabe4921 @@ -200,7 +200,7 @@ F ui/CommitDialog.ui 6200f6cabdcf40a20812e811be28e0793f82516f F ui/FileActionDialog.ui 89bb4dc2d0b8adcd41adcb11ec65f2028a09a12d F ui/MainWindow.ui 624844304042b74c462df27793a433183049f43f F ui/SettingsDialog.ui 55aefad7145c40d936c43759789d1b50e361b020 -P 9c28f79677e9fcd17ba7927b07bdf1403d1d5715 -R a7efa803e9394872c1191a04b1ffe2e8 +P b0ae319a2a85eb7373c7b66ba761205977e16b51 +R 6fb911c63a9bc706856ae41578f922cd U kostas -Z 24b315dbf87feaf49a30d731b056eae9 +Z 3b175d2a68256c4d2b1303bdd8b28ddd diff --git a/manifest.uuid b/manifest.uuid index 6ba8767..82450d6 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -b0ae319a2a85eb7373c7b66ba761205977e16b51 \ No newline at end of file +5bda1c48427cedd99a70fab9d051b28af0fc064f \ No newline at end of file diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 0d7fb55..9fa5a0c 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -2535,29 +2535,54 @@ void MainWindow::on_tableView_customContextMenuRequested(const QPoint &pos) //------------------------------------------------------------------------------ void MainWindow::dragEnterEvent(QDragEnterEvent *event) { - QList urls = event->mimeData()->urls(); - if(urls.length()!=1) - return; - - QFileInfo finfo(urls.first().toLocalFile()); - if(finfo.isDir() || finfo.suffix() == FOSSIL_EXT || finfo.fileName() == FOSSIL_CHECKOUT1 || finfo.fileName() == FOSSIL_CHECKOUT2 ) - { - event->acceptProposedAction(); - return; - } + event->acceptProposedAction(); } //------------------------------------------------------------------------------ void MainWindow::dropEvent(QDropEvent *event) { QList urls = event->mimeData()->urls(); - if(urls.length()!=1) + + if(urls.length()==0) return; + // When dropping a folder or a checkout file, open the associated worksspace QFileInfo finfo(urls.first().toLocalFile()); if(finfo.isDir() || finfo.suffix() == FOSSIL_EXT || finfo.fileName() == FOSSIL_CHECKOUT1 || finfo.fileName() == FOSSIL_CHECKOUT2 ) { event->acceptProposedAction(); openWorkspace(finfo.absoluteFilePath()); } + else // Otherwise add + { + QStringList newfiles; + + Q_FOREACH(const QUrl &url, urls) + { + QFileInfo finfo(url.toLocalFile()); + QString abspath = finfo.absoluteFilePath(); + + // Within the current workspace ? + if(abspath.indexOf(currentWorkspace)!=0) + continue; // skip + + // Remove workspace from full path + QString wkpath = abspath.right(abspath.length()-currentWorkspace.length()-1); + + newfiles.append(wkpath); + } + + // Any files to add? + if(!newfiles.empty()) + { + if(!FileActionDialog::run(this, tr("Add files"), tr("The following files will be added.")+"\n"+tr("Are you sure?"), newfiles)) + return; + + // Do Add + runFossil(QStringList() << "add" << QuotePaths(newfiles) ); + + refresh(); + } + } } +