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 <QApplication>
|
||||||
|
#include <QDesktopWidget>
|
||||||
#include <QFileSystemModel>
|
#include <QFileSystemModel>
|
||||||
#include <QTreeView>
|
#include <QTreeView>
|
||||||
|
#include <QCommandLineParser>
|
||||||
|
#include <QCommandLineOption>
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
QApplication app(argc, 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;
|
QFileSystemModel model;
|
||||||
model.setRootPath("");
|
model.setRootPath("");
|
||||||
QTreeView tree;
|
QTreeView tree;
|
||||||
tree.setModel(&model);
|
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
|
// Demonstrating look and feel features
|
||||||
tree.setAnimated(false);
|
tree.setAnimated(false);
|
||||||
tree.setIndentation(20);
|
tree.setIndentation(20);
|
||||||
tree.setSortingEnabled(true);
|
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.setWindowTitle(QObject::tr("Dir View"));
|
||||||
tree.resize(640, 480);
|
|
||||||
tree.show();
|
tree.show();
|
||||||
|
|
||||||
return app.exec();
|
return app.exec();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user