vmainwindow.cpp 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #include <QtGui>
  2. #include "vmainwindow.h"
  3. #include "vdirectorytree.h"
  4. VMainWindow::VMainWindow(QWidget *parent)
  5. : QMainWindow(parent)
  6. {
  7. setupUI();
  8. }
  9. VMainWindow::~VMainWindow()
  10. {
  11. }
  12. void VMainWindow::setupUI()
  13. {
  14. // Notebook directory browser tree
  15. notebookLabel = new QLabel(tr("&Notebook"));
  16. notebookComboBox = new QComboBox();
  17. notebookLabel->setBuddy(notebookComboBox);
  18. directoryTree = new VDirectoryTree();
  19. QHBoxLayout *nbTopLayout = new QHBoxLayout;
  20. notebookComboBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
  21. nbTopLayout->setAlignment(Qt::AlignLeft);
  22. nbTopLayout->addWidget(notebookLabel);
  23. nbTopLayout->addWidget(notebookComboBox);
  24. QVBoxLayout *nbLayout = new QVBoxLayout;
  25. nbLayout->addLayout(nbTopLayout);
  26. nbLayout->addWidget(directoryTree);
  27. QWidget *nbContainer = new QWidget();
  28. nbContainer->setLayout(nbLayout);
  29. nbContainer->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Expanding);
  30. // File list widget
  31. fileListWidget = new QListWidget();
  32. fileListWidget->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Expanding);
  33. // Editor tab widget
  34. editorTabWidget = new QTabWidget();
  35. editorTabWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
  36. QFile welcomeFile(":/resources/welcome.html");
  37. QString welcomeText("Welcome to VNote!");
  38. if (welcomeFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
  39. welcomeText = QString(welcomeFile.readAll());
  40. welcomeFile.close();
  41. }
  42. QTextBrowser *welcomePage = new QTextBrowser();
  43. welcomePage->setHtml(welcomeText);
  44. editorTabWidget->addTab(welcomePage, tr("Welcome to VNote"));
  45. // Main Splitter
  46. mainSplitter = new QSplitter();
  47. mainSplitter->addWidget(nbContainer);
  48. mainSplitter->addWidget(fileListWidget);
  49. mainSplitter->addWidget(editorTabWidget);
  50. mainSplitter->setStretchFactor(0, 1);
  51. mainSplitter->setStretchFactor(1, 1);
  52. mainSplitter->setStretchFactor(2, 10);
  53. setCentralWidget(mainSplitter);
  54. }