diff -r b0a345196435 -r 6e29bb0e83c5 gui.cpp --- a/gui.cpp Sat Apr 13 02:11:54 2013 +0300 +++ b/gui.cpp Sun Apr 14 03:54:40 2013 +0300 @@ -1,6 +1,6 @@ /* * LDForge: LDraw parts authoring CAD - * Copyright (C) 2013 Santeri `arezey` Piippo + * Copyright (C) 2013 Santeri Piippo * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -79,9 +79,9 @@ cfg (str, gui_colortoolbar, "16:24:|:0:1:2:3:4:5:6:7"); extern_cfg (str, io_recentfiles); -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // ForgeWindow::ForgeWindow () { R = new renderer; @@ -120,9 +120,9 @@ resize (800, 600); } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // void ForgeWindow::createMenuActions () { // Create the actions based on stored meta. for (actionmeta meta : g_ActionMeta) { @@ -147,9 +147,9 @@ History::updateActions (); } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // void ForgeWindow::createMenus () { qRecentFilesMenu = new QMenu (tr ("Open &Recent")); qRecentFilesMenu->setIcon (getIcon ("open-recent")); @@ -225,9 +225,9 @@ qHelpMenu->addAction (ACTION_NAME (aboutQt)); // About Qt } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // void ForgeWindow::updateRecentFilesMenu () { // First, clear any items in the recent files menu for (QAction* qRecent : qaRecentFiles) @@ -246,9 +246,9 @@ } } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // #define ADD_TOOLBAR_ITEM(ACT) g_CurrentToolBar->addAction (ACTION_NAME (ACT)); static QToolBar* g_CurrentToolBar; static Qt::ToolBarArea g_ToolBarArea = Qt::TopToolBarArea; @@ -315,27 +315,27 @@ updateToolBars (); } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // std::vector parseQuickColorMeta () { std::vector meta; for (str zColor : gui_colortoolbar.value / ":") { if (zColor == "|") { - meta.push_back ({nullptr, nullptr, true}); + meta.push_back ({null, null, true}); } else { color* col = getColor (atoi (zColor)); - meta.push_back ({col, nullptr, false}); + meta.push_back ({col, null, false}); } } return meta; } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // void ForgeWindow::updateToolBars () { for (QToolBar* qBar : qaToolBars) qBar->setIconSize (QSize (gui_toolbar_iconsize, gui_toolbar_iconsize)); @@ -367,9 +367,9 @@ } } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // void ForgeWindow::setTitle () { str zTitle = APPNAME_DISPLAY " v" VERSION_STRING; @@ -389,15 +389,15 @@ setWindowTitle (zTitle.chars()); } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // void ForgeWindow::slot_action () { // Get the action that triggered this slot. QAction* qAct = static_cast (sender ()); // Find the meta for the action. - actionmeta* pMeta = nullptr; + actionmeta* pMeta = null; for (actionmeta meta : g_ActionMeta) { if (*meta.qAct == qAct) { @@ -415,9 +415,9 @@ (*pMeta->handler) (); } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // void ForgeWindow::deleteSelection (vector* ulapIndices, std::vector* papObjects) { vector objs = getSelectedObjects (); @@ -436,9 +436,9 @@ refresh (); } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // void ForgeWindow::buildObjList () { if (!g_CurrentFile) return; @@ -539,7 +539,7 @@ break; } - QTreeWidgetItem* item = new QTreeWidgetItem ((QTreeWidget*) (nullptr), + QTreeWidgetItem* item = new QTreeWidgetItem ((QTreeWidget*) (null), QStringList (zText.chars()), 0); item->setIcon (0, QIcon (str::mkfmt ("icons/%s.png", g_saObjTypeIcons[obj->getType ()]).chars())); @@ -567,9 +567,9 @@ qObjList->insertTopLevelItems (0, qaItems); } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // void ForgeWindow::slot_selectionChanged () { /* // If the selection isn't 1 exact, disable setting contents @@ -580,20 +580,20 @@ */ } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // void ForgeWindow::slot_recentFile () { QAction* qAct = static_cast (sender ()); openMainFile (qAct->text ()); } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // void ForgeWindow::slot_quickColor () { QPushButton* qBtn = static_cast (sender ()); - color* col = nullptr; + color* col = null; for (quickColorMetaEntry entry : quickColorMeta) { if (entry.btn == qBtn) { @@ -602,7 +602,7 @@ } } - if (col == nullptr) + if (col == null) return; std::vector ulaIndices; @@ -623,9 +623,9 @@ refresh (); } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // ulong ForgeWindow::getInsertionPoint () { ulong ulIndex; @@ -643,17 +643,17 @@ return g_CurrentFile->objects.size(); } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // void ForgeWindow::refresh () { buildObjList (); R->hardRefresh (); } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // std::vector ForgeWindow::getSelectedObjects () { std::vector objs; @@ -669,14 +669,24 @@ return objs; } -// ============================================================================= -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -// ============================================================================= +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // +void ForgeWindow::updateSelection () { + buildObjList (); + + for (LDObject* obj : paSelection) + obj->qObjListEntry->setSelected (true); +} + +// ========================================================================= // +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ========================================================================= // QIcon getIcon (const char* sIconName) { return (QIcon (str::mkfmt ("./icons/%s.png", sIconName))); } -// ============================================================================= +// ========================================================================= // bool confirm (str zMessage) { return QMessageBox::question (g_ForgeWindow, "Confirm", zMessage, (QMessageBox::Yes | QMessageBox::No), QMessageBox::No) == QMessageBox::Yes;