/** * Copyright (c) 2011-2018 by Andrew Mustun. All rights reserved. * * This file is part of the QCAD project. * * QCAD is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * QCAD is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with QCAD. */ include("scripts/EAction.js"); /** * The status bar is created and initialized here. */ function StatusBar(guiAction) { EAction.call(this, guiAction); } StatusBar.prototype = new EAction(); StatusBar.getPreferencesCategory = function() { return [qsTr("Widgets"), qsTr("Status Bar")]; }; StatusBar.init = function(basePath) { var appWin = EAction.getMainWindow(); var action = new RGuiAction(qsTr("&Status Bar"), appWin); action.setRequiresDocument(false); action.setScriptFile(basePath + "/StatusBar.js"); //action.setIcon(basePath + "/StatusBar.svg"); action.setDefaultShortcut(new QKeySequence("g,s")); action.setDefaultCommands(["gs"]); action.setGroupSortOrder(3800); action.setSortOrder(200); action.setWidgetNames(["ViewMenu", "!WidgetsToolBar", "!ViewToolsPanel"]); var statusBar = appWin.statusBar(); var splitter = new QSplitter(statusBar); splitter.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Fixed); splitter.setFixedHeight(40); splitter.childrenCollapsible = false; splitter.objectName = "StatusBar"; statusBar.addWidget(splitter, 1000); }; StatusBar.postInit = function() { var statusBarSplitter = StatusBar.getStatusBarSplitter(); if (isNull(statusBarSplitter)) { return; } var sl = RSettings.getStringListValue("StatusBar/Sizes", []); var l = []; for (var i=0; i maxSortOrder && wSortOrder < widget.property("SortOrder")) { maxSortOrder = wSortOrder; index = i+1; } } widget.setParent(statusBarSplitter); if (index >= list.length) { statusBarSplitter.addWidget(widget); } else { statusBarSplitter.insertWidget(index, widget); } widget.visible = visible; }; StatusBar.applyPreferences = function(doc, mdiChild) { var appWin = RMainWindowQt.getMainWindow(); var statusBarSplitter = StatusBar.getStatusBarSplitter(); StatusBar.applyFont(statusBarSplitter); var widgetNames = ["CoordinateDisplay", "MouseDisplay", "SelectionDisplay", "ProgressDisplay"]; for (var i=0; i