diff --git a/rsrc/icons/File Refresh-01.png b/rsrc/icons/File Refresh-01.png new file mode 100644 index 0000000..e6efdc1 Binary files /dev/null and b/rsrc/icons/File Refresh-01.png differ diff --git a/rsrc/icons/Folder Refresh-01.png b/rsrc/icons/Folder Refresh-01.png new file mode 100644 index 0000000..e979ec9 Binary files /dev/null and b/rsrc/icons/Folder Refresh-01.png differ diff --git a/rsrc/resources.qrc b/rsrc/resources.qrc index a470179..2c53dbf 100644 --- a/rsrc/resources.qrc +++ b/rsrc/resources.qrc @@ -1,166 +1,167 @@ - - icons/Address Book-01.png - icons/Adobe Illustrator CS3 Document-01.png - icons/Adobe PDF Document-01.png - icons/Adobe Photoshop CS3 Document-01.png - icons/Battery-01.png - icons/Binoculars-01.png - icons/Book-01.png - icons/Briefcase-01.png - icons/Button Add-01.png - icons/Button Blank Blue-01.png - icons/Button Blank Gray-01.png - icons/Button Blank Green-01.png - icons/Button Blank Red-01.png - icons/Button Blank Yellow-01.png - icons/Button Cancel-01.png - icons/Button Close-01.png - icons/Button Close-01.png - icons/Button Close-01.png - icons/Button Delete-01.png - icons/Button Download-01.png - icons/Button Favorite-01.png - icons/Button Forward-01.png - icons/Button Help-01.png - icons/Button Info-01.png - icons/Button Log Off-01.png - icons/Button Next-01.png - icons/Button Pause-01.png - icons/Button Play-01.png - icons/Button Previous-01.png - icons/Button Refresh-01.png - icons/Button Reload-01.png - icons/Button Reload-01.png - icons/Button Reminder-01.png - icons/Button Rewind-01.png - icons/Button Talk Balloon-01.png - icons/Button Turn Off-01.png - icons/Button Turn On-01.png - icons/Button Upload-01.png - icons/Button Warning-01.png - icons/Calculator-01.png - icons/Calendar Blue-01.png - icons/Calendar Green-01.png - icons/Calendar Red-01.png - icons/Clipboard-01.png - icons/Clipboard Paste-01.png - icons/Clock-01.png - icons/Coin-01.png - icons/Compressed File RAR-01.png - icons/Compressed File SIT-01.png - icons/Compressed File Zip-01.png - icons/Computer Monitor-01.png - icons/Computer Network-01.png - icons/Document-01.png - icons/Document Attach-01.png - icons/Document Blank-01.png - icons/Document Chart-01.png - icons/Document Copy-01.png - icons/Document Flow Chart-01.png - icons/Document Gant Chart-01.png - icons/Document Help-01.png - icons/Document Line Chart-01.png - icons/Document Microsoft Excel-01.png - icons/Document Microsoft PowerPoint-01.png - icons/Document Microsoft Word-01.png - icons/Document Organization Chart-01.png - icons/Document Preview-01.png - icons/Document-Revert-icon.png - icons/Document Text-01.png - icons/Edit Document-01.png - icons/Email-01.png - icons/Email Attachment-01.png - icons/Email Delete-01.png - icons/Email Download-01.png - icons/Email Forward-01.png - icons/Email Inbox-01.png - icons/Email Reply-01.png - icons/File Audio-01.png - icons/File Audio AIFF-01.png - icons/File Audio MP3-01.png - icons/File Audio WAV-01.png - icons/File Audio WMA-01.png - icons/File Delete-01.png - icons/File History-01.png - icons/File New-01.png - icons/File Open-01.png - icons/File Video 3GP-01.png - icons/File Video-01.png - icons/File Video AVI-01.png - icons/File Video MOV-01.png - icons/File Video MPEG-01.png - icons/File Video WMV-01.png - icons/Folder-01.png - icons/Folder Add-01.png - icons/Folder Compressed-01.png - icons/Folder Delete-01.png - icons/Folder Explorer-01.png - icons/Folder Explorer-01.png - icons/Folder Generic Blue-01.png - icons/Folder Generic Green-01.png - icons/Folder Generic Red-01.png - icons/Folder Generic Silver-01.png - icons/Folder Open-01.png - icons/Folder RAR-01.png - icons/Games-01.png - icons/Gear-01.png - icons/Highlighter Blue-01.png - icons/Highlighter Green-01.png - icons/Highlighter Yellow-01.png - icons/Image BMP-01.png - icons/Image GIF-01.png - icons/Image JPEG-01.png - icons/Image PNG-01.png - icons/Image TIFF-01.png - icons/Lock Lock-01.png - icons/Lock Unlock-01.png - icons/My Documents-01.png - icons/My Ebooks-01.png - icons/My Music-01.png - icons/My Pictures.png - icons/My Videos-01.png - icons/My Websites-01.png - icons/Network Firewall-01.png - icons/Network MAC-01.png - icons/Network PC-01.png - icons/Network Refresh-01.png - icons/Pen Blue-01.png - icons/Pen Green-01.png - icons/Pen Red-01.png - icons/Save-01.png - icons/Text Edit.png - icons/USB-01.png - icons/User Administrator Blue-01.png - icons/User Administrator Green-01.png - icons/User Administrator Red-01.png - icons/User Chat-01.png - icons/User Clients-01.png - icons/User Coat Blue-01.png - icons/User Coat Green-01.png - icons/User Coat Red-01.png - icons/User Executive Blue-01.png - icons/User Executive Green-01.png - icons/User Executive Red-01.png - icons/User Group-01.png - icons/User Preppy Blue-01.png - icons/User Preppy Green-01.png - icons/User Preppy Red-01.png - icons/Web HTML-01.png - icons/Web XML-01.png - icons/Window-01.png - icons/Window Refresh-01.png - icons/Windows-01.png - icons/Windows Cascade-01.png - icons/Zoom-01.png - icons/Zoom In-01.png - icons/Zoom Out-01.png - - - docs/Translators.txt - docs/Licenses.txt - - - ../manifest.uuid - + + icons/Address Book-01.png + icons/Adobe Illustrator CS3 Document-01.png + icons/Adobe PDF Document-01.png + icons/Adobe Photoshop CS3 Document-01.png + icons/Battery-01.png + icons/Binoculars-01.png + icons/Book-01.png + icons/Briefcase-01.png + icons/Button Add-01.png + icons/Button Blank Blue-01.png + icons/Button Blank Gray-01.png + icons/Button Blank Green-01.png + icons/Button Blank Red-01.png + icons/Button Blank Yellow-01.png + icons/Button Cancel-01.png + icons/Button Close-01.png + icons/Button Close-01.png + icons/Button Close-01.png + icons/Button Delete-01.png + icons/Button Download-01.png + icons/Button Favorite-01.png + icons/Button Forward-01.png + icons/Button Help-01.png + icons/Button Info-01.png + icons/Button Log Off-01.png + icons/Button Next-01.png + icons/Button Pause-01.png + icons/Button Play-01.png + icons/Button Previous-01.png + icons/Button Refresh-01.png + icons/Button Reload-01.png + icons/Button Reload-01.png + icons/Button Reminder-01.png + icons/Button Rewind-01.png + icons/Button Talk Balloon-01.png + icons/Button Turn Off-01.png + icons/Button Turn On-01.png + icons/Button Upload-01.png + icons/Button Warning-01.png + icons/Calculator-01.png + icons/Calendar Blue-01.png + icons/Calendar Green-01.png + icons/Calendar Red-01.png + icons/Clipboard-01.png + icons/Clipboard Paste-01.png + icons/Clock-01.png + icons/Coin-01.png + icons/Compressed File RAR-01.png + icons/Compressed File SIT-01.png + icons/Compressed File Zip-01.png + icons/Computer Monitor-01.png + icons/Computer Network-01.png + icons/Document-01.png + icons/Document Attach-01.png + icons/Document Blank-01.png + icons/Document Chart-01.png + icons/Document Copy-01.png + icons/Document Flow Chart-01.png + icons/Document Gant Chart-01.png + icons/Document Help-01.png + icons/Document Line Chart-01.png + icons/Document Microsoft Excel-01.png + icons/Document Microsoft PowerPoint-01.png + icons/Document Microsoft Word-01.png + icons/Document Organization Chart-01.png + icons/Document Preview-01.png + icons/Document-Revert-icon.png + icons/Document Text-01.png + icons/Edit Document-01.png + icons/Email-01.png + icons/Email Attachment-01.png + icons/Email Delete-01.png + icons/Email Download-01.png + icons/Email Forward-01.png + icons/Email Inbox-01.png + icons/Email Reply-01.png + icons/File Audio-01.png + icons/File Audio AIFF-01.png + icons/File Audio MP3-01.png + icons/File Audio WAV-01.png + icons/File Audio WMA-01.png + icons/File Delete-01.png + icons/File History-01.png + icons/File New-01.png + icons/File Open-01.png + icons/File Video 3GP-01.png + icons/File Video-01.png + icons/File Video AVI-01.png + icons/File Video MOV-01.png + icons/File Video MPEG-01.png + icons/File Video WMV-01.png + icons/Folder-01.png + icons/Folder Add-01.png + icons/Folder Compressed-01.png + icons/Folder Delete-01.png + icons/Folder Explorer-01.png + icons/Folder Explorer-01.png + icons/Folder Generic Blue-01.png + icons/Folder Generic Green-01.png + icons/Folder Generic Red-01.png + icons/Folder Generic Silver-01.png + icons/Folder Open-01.png + icons/Folder RAR-01.png + icons/Games-01.png + icons/Gear-01.png + icons/Highlighter Blue-01.png + icons/Highlighter Green-01.png + icons/Highlighter Yellow-01.png + icons/Image BMP-01.png + icons/Image GIF-01.png + icons/Image JPEG-01.png + icons/Image PNG-01.png + icons/Image TIFF-01.png + icons/Lock Lock-01.png + icons/Lock Unlock-01.png + icons/My Documents-01.png + icons/My Ebooks-01.png + icons/My Music-01.png + icons/My Pictures.png + icons/My Videos-01.png + icons/My Websites-01.png + icons/Network Firewall-01.png + icons/Network MAC-01.png + icons/Network PC-01.png + icons/Network Refresh-01.png + icons/Pen Blue-01.png + icons/Pen Green-01.png + icons/Pen Red-01.png + icons/Save-01.png + icons/Text Edit.png + icons/USB-01.png + icons/User Administrator Blue-01.png + icons/User Administrator Green-01.png + icons/User Administrator Red-01.png + icons/User Chat-01.png + icons/User Clients-01.png + icons/User Coat Blue-01.png + icons/User Coat Green-01.png + icons/User Coat Red-01.png + icons/User Executive Blue-01.png + icons/User Executive Green-01.png + icons/User Executive Red-01.png + icons/User Group-01.png + icons/User Preppy Blue-01.png + icons/User Preppy Green-01.png + icons/User Preppy Red-01.png + icons/Web HTML-01.png + icons/Web XML-01.png + icons/Window-01.png + icons/Window Refresh-01.png + icons/Windows-01.png + icons/Windows Cascade-01.png + icons/Zoom-01.png + icons/Zoom In-01.png + icons/Zoom Out-01.png + icons/File Refresh-01.png + + + docs/Translators.txt + docs/Licenses.txt + + + ../manifest.uuid + diff --git a/src/Fossil.cpp b/src/Fossil.cpp index f63d8fb..67aebae 100644 --- a/src/Fossil.cpp +++ b/src/Fossil.cpp @@ -343,6 +343,12 @@ bool Fossil::removeFiles(const QStringList &fileList, bool deleteLocal) return true; } +//------------------------------------------------------------------------------ +bool Fossil::addRemoveFiles() +{ + return runFossil(QStringList() << "addremove"); +} + //------------------------------------------------------------------------------ bool Fossil::revertFiles(const QStringList &fileList) { diff --git a/src/Fossil.h b/src/Fossil.h index 886abc1..b3ccfc4 100644 --- a/src/Fossil.h +++ b/src/Fossil.h @@ -42,6 +42,7 @@ public: bool commitFiles(const QStringList &fileList, const QString &comment, const QString &newBranchName, bool isPrivateBranch); bool addFiles(const QStringList &fileList); bool removeFiles(const QStringList &fileList, bool deleteLocal); + bool addRemoveFiles(); bool revertFiles(const QStringList &fileList); bool renameFile(const QString &beforePath, const QString &afterPath, bool renameLocal); diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index f94e0a5..f43b123 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -599,15 +599,16 @@ void MainWindow::onOpenRecent() //------------------------------------------------------------------------------ void MainWindow::enableActions(bool on) { - QAction *actions[] = {ui->actionCloseRepository, ui->actionCommit, ui->actionDiff, ui->actionAdd, - ui->actionDelete, ui->actionPush, ui->actionPull, ui->actionRename, - ui->actionHistory, ui->actionFossilUI, ui->actionRevert, ui->actionTimeline, - ui->actionOpenFile, ui->actionOpenContaining, ui->actionUndo, ui->actionUpdate, - ui->actionOpenFolder, ui->actionRenameFolder, ui->actionCreateStash, ui->actionDeleteStash, - ui->actionDiffStash, ui->actionApplyStash, ui->actionDeleteStash, ui->actionCreateTag, - ui->actionDeleteTag, ui->actionCreateBranch, ui->actionMergeBranch, ui->actionFossilSettings, - ui->actionViewAll, ui->actionViewAsFolders, ui->actionViewAsList, ui->actionViewIgnored, - ui->actionViewModifedOnly, ui->actionViewModified, ui->actionViewUnchanged, ui->actionViewUnknown}; + QAction *actions[] = {ui->actionCloseRepository, ui->actionCommit, ui->actionDiff, ui->actionAdd, + ui->actionDelete, ui->actionAddRemove, ui->actionPush, ui->actionPull, + ui->actionRename, ui->actionHistory, ui->actionFossilUI, ui->actionRevert, + ui->actionTimeline, ui->actionOpenFile, ui->actionOpenContaining, ui->actionUndo, + ui->actionUpdate, ui->actionOpenFolder, ui->actionRenameFolder, ui->actionCreateStash, + ui->actionDeleteStash, ui->actionDiffStash, ui->actionApplyStash, ui->actionDeleteStash, + ui->actionCreateTag, ui->actionDeleteTag, ui->actionCreateBranch, ui->actionMergeBranch, + ui->actionFossilSettings, ui->actionViewAll, ui->actionViewAsFolders, ui->actionViewAsList, + ui->actionViewIgnored, ui->actionViewModifedOnly, ui->actionViewModified, ui->actionViewUnchanged, + ui->actionViewUnknown}; for (size_t i = 0; i < COUNTOF(actions); ++i) actions[i]->setEnabled(on); @@ -1561,6 +1562,14 @@ void MainWindow::on_actionAdd_triggered() refresh(); } +//------------------------------------------------------------------------------ +void MainWindow::on_actionAddRemove_triggered() +{ + if (!getWorkspace().addRemoveFiles()) + QMessageBox::critical(this, tr("Error"), tr("Could not add files."), QMessageBox::Ok); + refresh(); +} + //------------------------------------------------------------------------------ void MainWindow::on_actionDelete_triggered() { diff --git a/src/MainWindow.h b/src/MainWindow.h index 6f5416d..2727118 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -97,6 +97,7 @@ private slots: void on_actionPullRemote_triggered(); void on_actionCommit_triggered(); void on_actionAdd_triggered(); + void on_actionAddRemove_triggered(); void on_actionDelete_triggered(); void on_actionRevert_triggered(); void on_actionOpenContaining_triggered(); diff --git a/src/Workspace.h b/src/Workspace.h index 6983f3c..3181f28 100644 --- a/src/Workspace.h +++ b/src/Workspace.h @@ -85,6 +85,8 @@ public: bool removeFiles(const QStringList &fileList, bool deleteLocal) { return fossil().removeFiles(fileList, deleteLocal); } + bool addRemoveFiles() { return fossil().addRemoveFiles(); } + bool revertFiles(const QStringList &fileList) { return fossil().revertFiles(fileList); } bool renameFile(const QString &beforePath, const QString &afterPath, bool renameLocal) { return fossil().renameFile(beforePath, afterPath, renameLocal); } diff --git a/ui/MainWindow.ui b/ui/MainWindow.ui index 24e4980..017a6d7 100644 --- a/ui/MainWindow.ui +++ b/ui/MainWindow.ui @@ -118,12 +118,12 @@ false - - false - 20 + + false + true @@ -222,7 +222,7 @@ 0 0 865 - 21 + 20 @@ -324,6 +324,7 @@ + @@ -1062,6 +1063,18 @@ Esc + + + + :/icons/icon-item-addremove:/icons/icon-item-addremove + + + Add & Remove + + + Add & Remove files + +