Polish the Dir View example.
Add a command line parser so that the directory can be specified. Resize depending on screen size and make first (name) column larger. Change-Id: Ied5823b4e8f50345aae792628fb610b8604e37d3 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
This commit is contained in:
parent
ed42bf8c05
commit
d326952b51
@ -39,25 +39,45 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include <QApplication>
|
||||
#include <QDesktopWidget>
|
||||
#include <QFileSystemModel>
|
||||
#include <QTreeView>
|
||||
#include <QCommandLineParser>
|
||||
#include <QCommandLineOption>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication app(argc, argv);
|
||||
|
||||
QCoreApplication::setApplicationVersion(QT_VERSION_STR);
|
||||
QCommandLineParser parser;
|
||||
parser.setApplicationDescription("Qt Dir View Example");
|
||||
parser.addHelpOption();
|
||||
parser.addVersionOption();
|
||||
parser.addPositionalArgument("directory", "The directory to start in.");
|
||||
parser.process(app);
|
||||
const QString rootPath = parser.positionalArguments().isEmpty()
|
||||
? QString() : parser.positionalArguments().first();
|
||||
|
||||
QFileSystemModel model;
|
||||
model.setRootPath("");
|
||||
QTreeView tree;
|
||||
tree.setModel(&model);
|
||||
if (!rootPath.isEmpty()) {
|
||||
const QModelIndex rootIndex = model.index(QDir::cleanPath(rootPath));
|
||||
if (rootIndex.isValid())
|
||||
tree.setRootIndex(rootIndex);
|
||||
}
|
||||
|
||||
// Demonstrating look and feel features
|
||||
tree.setAnimated(false);
|
||||
tree.setIndentation(20);
|
||||
tree.setSortingEnabled(true);
|
||||
const QSize availableSize = QApplication::desktop()->availableGeometry(&tree).size();
|
||||
tree.resize(availableSize / 2);
|
||||
tree.setColumnWidth(0, tree.width() / 3);
|
||||
|
||||
tree.setWindowTitle(QObject::tr("Dir View"));
|
||||
tree.resize(640, 480);
|
||||
tree.show();
|
||||
|
||||
return app.exec();
|
||||
|
Loading…
x
Reference in New Issue
Block a user