Added support for adding files to Fosill via drag and drop

FossilOrigin-Name: 5bda1c48427cedd99a70fab9d051b28af0fc064f
This commit is contained in:
kostas 2013-02-03 02:58:26 +00:00
parent 82356ccb81
commit 345918a5f3
4 changed files with 48 additions and 22 deletions

View File

@ -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

View File

@ -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

View File

@ -1 +1 @@
b0ae319a2a85eb7373c7b66ba761205977e16b51
5bda1c48427cedd99a70fab9d051b28af0fc064f

View File

@ -2535,29 +2535,54 @@ void MainWindow::on_tableView_customContextMenuRequested(const QPoint &pos)
//------------------------------------------------------------------------------
void MainWindow::dragEnterEvent(QDragEnterEvent *event)
{
QList<QUrl> 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<QUrl> 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();
}
}
}