diff --git a/MainWindow.cpp b/MainWindow.cpp index dcd8b55..fe04e27 100644 --- a/MainWindow.cpp +++ b/MainWindow.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include "CommitDialog.h" #include "FileActionDialog.h" #include @@ -135,6 +136,7 @@ MainWindow::MainWindow(QWidget *parent, QString *workspacePath) : ui->tableViewStash->addAction(ui->actionApplyStash); ui->tableViewStash->addAction(ui->actionDiffStash); ui->tableViewStash->addAction(ui->actionDeleteStash); + ui->tableViewStash->horizontalHeader()->setSortIndicatorShown(false); // Recent Workspaces // Locate a sequence of two separator actions in file menu @@ -174,7 +176,7 @@ MainWindow::MainWindow(QWidget *parent, QString *workspacePath) : loadSettings(); // Apply any explict workspace path if available - if(workspacePath) + if(workspacePath && !workspacePath->isEmpty()) openWorkspace(*workspacePath); refresh(); @@ -372,6 +374,10 @@ void MainWindow::on_actionNewRepository_triggered() return; } + // Disable unknown file filter + if(!ui->actionViewUnknown->isChecked()) + ui->actionViewUnknown->setChecked(true); + // Open repo if(!runFossil(QStringList() << "open" << QuotePath(repositoryFile))) { @@ -789,6 +795,8 @@ void MainWindow::updateFileView() { RepoFile::TYPE_MISSING, "M", "Missing", ":icons/icons/Button Help-01.png" }, }; + QFileIconProvider icon_provider; + size_t item_id=0; for(filemap_t::iterator it = workspaceFiles.begin(); it!=workspaceFiles.end(); ++it) { @@ -820,16 +828,16 @@ void MainWindow::updateFileView() repoFileModel.setItem(item_id, COLUMN_STATUS, status); QFileInfo finfo = e.getFileInfo(); + QIcon icon = icon_provider.icon(finfo); QStandardItem *filename_item = 0; if(viewMode==VIEWMODE_LIST || multiple_dirs) { repoFileModel.setItem(item_id, COLUMN_PATH, new QStandardItem(path)); - - filename_item = new QStandardItem(e.getFilePath()); + filename_item = new QStandardItem(icon, QDir::toNativeSeparators(e.getFilePath())); } else // In Tree mode the path is implicit so the file name is enough - filename_item = new QStandardItem(e.getFilename()); + filename_item = new QStandardItem(icon, e.getFilename()); Q_ASSERT(filename_item); // Keep the path in the user data @@ -842,8 +850,13 @@ void MainWindow::updateFileView() ++item_id; } - ui->tableView->resizeColumnsToContents(); - ui->tableView->resizeRowsToContents(); + ui->tableView->horizontalHeader()->setResizeMode(COLUMN_STATUS, QHeaderView::ResizeToContents); + ui->tableView->horizontalHeader()->setResizeMode(COLUMN_FILENAME, QHeaderView::Stretch); + ui->tableView->horizontalHeader()->setResizeMode(COLUMN_EXTENSION, QHeaderView::ResizeToContents); + ui->tableView->horizontalHeader()->setResizeMode(COLUMN_MODIFIED, QHeaderView::ResizeToContents); + ui->tableView->horizontalHeader()->setResizeMode(COLUMN_PATH, QHeaderView::ResizeToContents); + ui->tableView->horizontalHeader()->setSortIndicatorShown(true); + ui->tableView->resizeRowsToContents(); } //------------------------------------------------------------------------------ @@ -2317,8 +2330,16 @@ void MainWindow::onFileViewDragOut() QMimeData *mime_data = new QMimeData; mime_data->setData("text/uri-list", uris.toUtf8()); - QDrag drag(this); - drag.setMimeData(mime_data); - drag.exec(Qt::CopyAction); + QDrag *drag = new QDrag(this); + drag->setMimeData(mime_data); + drag->exec(Qt::CopyAction); } +//------------------------------------------------------------------------------ +void MainWindow::on_textBrowser_customContextMenuRequested(const QPoint &pos) +{ + QMenu *menu = ui->textBrowser->createStandardContextMenu(); + menu->addSeparator(); + menu->addAction(ui->actionClearLog); + menu->popup(ui->textBrowser->mapToGlobal(pos)); +} diff --git a/MainWindow.h b/MainWindow.h index e243ec1..ca327e6 100644 --- a/MainWindow.h +++ b/MainWindow.h @@ -226,7 +226,7 @@ private slots: void on_actionApplyStash_triggered(); void on_actionDeleteStash_triggered(); void on_actionDiffStash_triggered(); - + void on_textBrowser_customContextMenuRequested(const QPoint &pos); private: enum { diff --git a/MainWindow.ui b/MainWindow.ui index 4366b13..fa4bea4 100644 --- a/MainWindow.ui +++ b/MainWindow.ui @@ -159,6 +159,9 @@ 20 + + Qt::CustomContextMenu + @@ -170,7 +173,7 @@ 0 0 865 - 21 + 24 @@ -256,7 +259,6 @@ - diff --git a/manifest b/manifest index be99ed4..a665f07 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Allow\sopening\sa\sspecific\sworkspace\spath\sfrom\sthe\scommandline\n\n -D 2012-04-15T14:42:09.758 +C When\screating\sa\snew\srepository\salways\sshow\sunknown\sfiles\nMoved\sthe\sclear\slog\saction\sto\sthe\slog\scontext\smenu\nThe\sfile\sview\snow\sdisplays\sthe\sactual\sfiletype\sicons\nBetter\sresizing\sfor\scolumns\sin\sthe\sfileview\nFixed\scrash\sin\sdrag\sand\sdrop\sin\sLinux\n +D 2012-04-21T08:36:13.808 F CommitDialog.cpp a46020a9361151d8d286a2670257d01d8967bf69 F CommitDialog.h f1ee8db92103164e7db55a8407ccdcff24571b72 F CommitDialog.ui 813d7cba316e226de1a22b7e480bb969fbe9b0c4 @@ -8,9 +8,9 @@ F FileActionDialog.h 15db1650b3a13d70bc338371e4c033c66e3b79ce F FileActionDialog.ui c63644428579741aeb5fa052e237ba799ced9ad7 F FileTableView.cpp 5ddf8c391c9a3ac449ec61fb1db837b577afeec2 F FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df -F MainWindow.cpp 8d0d6d8e78210670a8fe533b1413bcbe77196ce1 -F MainWindow.h 78dc49fe4500a6113ed8bbff597d5305d203a80c -F MainWindow.ui d569997fecf4a22d61a016a4a23eea04eaad6dee +F MainWindow.cpp e81955c1902fb6a7ac33c830a425dd1baad5ccc1 +F MainWindow.h 1f6d8db9cf25a89fbbb1e0b33cc63a0e43cfe7ff +F MainWindow.ui 6c12a0b141b86c6994d5835618acba19a9ff1976 F SettingsDialog.cpp e1fad18cc020d08b82c6d35dc94f6624deec9a3b F SettingsDialog.h f5da6cab4ccc82e2eb78ec835fb849c4c104d6cc F SettingsDialog.ui 8964629ea80c61971c0601624c84d1927902b1fd @@ -176,7 +176,7 @@ F installer/fuel.iss 13b6a938bcdf273cbd3649d2549887baa1577214 F installer/license.txt 4cc77b90af91e615a64ae04893fdffa7939db84c F main.cpp 69c1f9e873c016ef466d20298a67c3bc4c2b2f3a F resources.qrc e98383ed205f4e37100c60057e0129c3b86dea53 -P 8e08f86043f0c2159037824f125e6acf2c2be007 -R 2e9aacb62b629a4e755adad517f7f50b +P e42f476b1c07959ee224b1abbd60f811893d0717 +R d8b3609a9646f748b8ef5737cc97987c U kostas -Z 528eba2e411becfe13a36cbfcfcf8dde +Z 8c32e736b7ba845d81c6fe59d1e8d0a9 diff --git a/manifest.uuid b/manifest.uuid index 9d65228..cde9de6 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -e42f476b1c07959ee224b1abbd60f811893d0717 \ No newline at end of file +03c02e59f350369dd0a66f24fda209f4ab50137d \ No newline at end of file