When creating a new repository always show unknown files

Moved the clear log action to the log context menu
The file view now displays the actual filetype icons
Better resizing for columns in the fileview
Fixed crash in drag and drop in Linux


FossilOrigin-Name: 03c02e59f350369dd0a66f24fda209f4ab50137d
This commit is contained in:
kostas 2012-04-21 08:36:13 +00:00
parent ef4945494c
commit 6163dc5bea
5 changed files with 44 additions and 21 deletions

View File

@ -13,6 +13,7 @@
#include <QInputDialog> #include <QInputDialog>
#include <QDrag> #include <QDrag>
#include <QMimeData> #include <QMimeData>
#include <QFileIconProvider>
#include "CommitDialog.h" #include "CommitDialog.h"
#include "FileActionDialog.h" #include "FileActionDialog.h"
#include <QDebug> #include <QDebug>
@ -135,6 +136,7 @@ MainWindow::MainWindow(QWidget *parent, QString *workspacePath) :
ui->tableViewStash->addAction(ui->actionApplyStash); ui->tableViewStash->addAction(ui->actionApplyStash);
ui->tableViewStash->addAction(ui->actionDiffStash); ui->tableViewStash->addAction(ui->actionDiffStash);
ui->tableViewStash->addAction(ui->actionDeleteStash); ui->tableViewStash->addAction(ui->actionDeleteStash);
ui->tableViewStash->horizontalHeader()->setSortIndicatorShown(false);
// Recent Workspaces // Recent Workspaces
// Locate a sequence of two separator actions in file menu // Locate a sequence of two separator actions in file menu
@ -174,7 +176,7 @@ MainWindow::MainWindow(QWidget *parent, QString *workspacePath) :
loadSettings(); loadSettings();
// Apply any explict workspace path if available // Apply any explict workspace path if available
if(workspacePath) if(workspacePath && !workspacePath->isEmpty())
openWorkspace(*workspacePath); openWorkspace(*workspacePath);
refresh(); refresh();
@ -372,6 +374,10 @@ void MainWindow::on_actionNewRepository_triggered()
return; return;
} }
// Disable unknown file filter
if(!ui->actionViewUnknown->isChecked())
ui->actionViewUnknown->setChecked(true);
// Open repo // Open repo
if(!runFossil(QStringList() << "open" << QuotePath(repositoryFile))) if(!runFossil(QStringList() << "open" << QuotePath(repositoryFile)))
{ {
@ -789,6 +795,8 @@ void MainWindow::updateFileView()
{ RepoFile::TYPE_MISSING, "M", "Missing", ":icons/icons/Button Help-01.png" }, { RepoFile::TYPE_MISSING, "M", "Missing", ":icons/icons/Button Help-01.png" },
}; };
QFileIconProvider icon_provider;
size_t item_id=0; size_t item_id=0;
for(filemap_t::iterator it = workspaceFiles.begin(); it!=workspaceFiles.end(); ++it) 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); repoFileModel.setItem(item_id, COLUMN_STATUS, status);
QFileInfo finfo = e.getFileInfo(); QFileInfo finfo = e.getFileInfo();
QIcon icon = icon_provider.icon(finfo);
QStandardItem *filename_item = 0; QStandardItem *filename_item = 0;
if(viewMode==VIEWMODE_LIST || multiple_dirs) if(viewMode==VIEWMODE_LIST || multiple_dirs)
{ {
repoFileModel.setItem(item_id, COLUMN_PATH, new QStandardItem(path)); repoFileModel.setItem(item_id, COLUMN_PATH, new QStandardItem(path));
filename_item = new QStandardItem(icon, QDir::toNativeSeparators(e.getFilePath()));
filename_item = new QStandardItem(e.getFilePath());
} }
else // In Tree mode the path is implicit so the file name is enough 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); Q_ASSERT(filename_item);
// Keep the path in the user data // Keep the path in the user data
@ -842,8 +850,13 @@ void MainWindow::updateFileView()
++item_id; ++item_id;
} }
ui->tableView->resizeColumnsToContents(); ui->tableView->horizontalHeader()->setResizeMode(COLUMN_STATUS, QHeaderView::ResizeToContents);
ui->tableView->resizeRowsToContents(); 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; QMimeData *mime_data = new QMimeData;
mime_data->setData("text/uri-list", uris.toUtf8()); mime_data->setData("text/uri-list", uris.toUtf8());
QDrag drag(this); QDrag *drag = new QDrag(this);
drag.setMimeData(mime_data); drag->setMimeData(mime_data);
drag.exec(Qt::CopyAction); 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));
}

View File

@ -226,7 +226,7 @@ private slots:
void on_actionApplyStash_triggered(); void on_actionApplyStash_triggered();
void on_actionDeleteStash_triggered(); void on_actionDeleteStash_triggered();
void on_actionDiffStash_triggered(); void on_actionDiffStash_triggered();
void on_textBrowser_customContextMenuRequested(const QPoint &pos);
private: private:
enum enum
{ {

View File

@ -159,6 +159,9 @@
<verstretch>20</verstretch> <verstretch>20</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
</widget> </widget>
</widget> </widget>
</item> </item>
@ -170,7 +173,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>865</width> <width>865</width>
<height>21</height> <height>24</height>
</rect> </rect>
</property> </property>
<widget class="QMenu" name="menuFile"> <widget class="QMenu" name="menuFile">
@ -256,7 +259,6 @@
<addaction name="actionFossilUI"/> <addaction name="actionFossilUI"/>
<addaction name="actionTimeline"/> <addaction name="actionTimeline"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionClearLog"/>
<addaction name="actionOpenContaining"/> <addaction name="actionOpenContaining"/>
</widget> </widget>
<widget class="QStatusBar" name="statusBar"/> <widget class="QStatusBar" name="statusBar"/>

View File

@ -1,5 +1,5 @@
C Allow\sopening\sa\sspecific\sworkspace\spath\sfrom\sthe\scommandline\n\n 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-15T14:42:09.758 D 2012-04-21T08:36:13.808
F CommitDialog.cpp a46020a9361151d8d286a2670257d01d8967bf69 F CommitDialog.cpp a46020a9361151d8d286a2670257d01d8967bf69
F CommitDialog.h f1ee8db92103164e7db55a8407ccdcff24571b72 F CommitDialog.h f1ee8db92103164e7db55a8407ccdcff24571b72
F CommitDialog.ui 813d7cba316e226de1a22b7e480bb969fbe9b0c4 F CommitDialog.ui 813d7cba316e226de1a22b7e480bb969fbe9b0c4
@ -8,9 +8,9 @@ F FileActionDialog.h 15db1650b3a13d70bc338371e4c033c66e3b79ce
F FileActionDialog.ui c63644428579741aeb5fa052e237ba799ced9ad7 F FileActionDialog.ui c63644428579741aeb5fa052e237ba799ced9ad7
F FileTableView.cpp 5ddf8c391c9a3ac449ec61fb1db837b577afeec2 F FileTableView.cpp 5ddf8c391c9a3ac449ec61fb1db837b577afeec2
F FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df F FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df
F MainWindow.cpp 8d0d6d8e78210670a8fe533b1413bcbe77196ce1 F MainWindow.cpp e81955c1902fb6a7ac33c830a425dd1baad5ccc1
F MainWindow.h 78dc49fe4500a6113ed8bbff597d5305d203a80c F MainWindow.h 1f6d8db9cf25a89fbbb1e0b33cc63a0e43cfe7ff
F MainWindow.ui d569997fecf4a22d61a016a4a23eea04eaad6dee F MainWindow.ui 6c12a0b141b86c6994d5835618acba19a9ff1976
F SettingsDialog.cpp e1fad18cc020d08b82c6d35dc94f6624deec9a3b F SettingsDialog.cpp e1fad18cc020d08b82c6d35dc94f6624deec9a3b
F SettingsDialog.h f5da6cab4ccc82e2eb78ec835fb849c4c104d6cc F SettingsDialog.h f5da6cab4ccc82e2eb78ec835fb849c4c104d6cc
F SettingsDialog.ui 8964629ea80c61971c0601624c84d1927902b1fd F SettingsDialog.ui 8964629ea80c61971c0601624c84d1927902b1fd
@ -176,7 +176,7 @@ F installer/fuel.iss 13b6a938bcdf273cbd3649d2549887baa1577214
F installer/license.txt 4cc77b90af91e615a64ae04893fdffa7939db84c F installer/license.txt 4cc77b90af91e615a64ae04893fdffa7939db84c
F main.cpp 69c1f9e873c016ef466d20298a67c3bc4c2b2f3a F main.cpp 69c1f9e873c016ef466d20298a67c3bc4c2b2f3a
F resources.qrc e98383ed205f4e37100c60057e0129c3b86dea53 F resources.qrc e98383ed205f4e37100c60057e0129c3b86dea53
P 8e08f86043f0c2159037824f125e6acf2c2be007 P e42f476b1c07959ee224b1abbd60f811893d0717
R 2e9aacb62b629a4e755adad517f7f50b R d8b3609a9646f748b8ef5737cc97987c
U kostas U kostas
Z 528eba2e411becfe13a36cbfcfcf8dde Z 8c32e736b7ba845d81c6fe59d1e8d0a9

View File

@ -1 +1 @@
e42f476b1c07959ee224b1abbd60f811893d0717 03c02e59f350369dd0a66f24fda209f4ab50137d