Skip to content

Commit

Permalink
Merge branch 'FreeCAD:main' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
sasobadovinac committed Dec 1, 2023
2 parents e0ab125 + a4db18a commit c566c89
Show file tree
Hide file tree
Showing 20 changed files with 485 additions and 343 deletions.
18 changes: 6 additions & 12 deletions src/Gui/ApplicationPy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -547,7 +547,7 @@ PyObject* Application::sGetDocument(PyObject * /*self*/, PyObject *args)
return pcDoc->getPyObject();
}

PyErr_SetString(PyExc_TypeError, "Either string or App.Document exprected");
PyErr_SetString(PyExc_TypeError, "Either string or App.Document expected");
return nullptr;
}

Expand Down Expand Up @@ -1427,7 +1427,7 @@ PyObject* Application::sCreateViewer(PyObject * /*self*/, PyObject *args)

PyObject* Application::sGetMarkerIndex(PyObject * /*self*/, PyObject *args)
{
char *pstr;
char *pstr {};
int defSize = 9;
if (!PyArg_ParseTuple(args, "s|i", &pstr, &defSize))
return nullptr;
Expand All @@ -1449,18 +1449,12 @@ PyObject* Application::sGetMarkerIndex(PyObject * /*self*/, PyObject *args)
{"default", "CIRCLE_FILLED"}
};

std::list<std::pair<std::string, std::string>>::iterator markerStyle;

for (markerStyle = markerList.begin(); markerStyle != markerList.end(); ++markerStyle)
{
if (marker_arg == (*markerStyle).first || marker_arg == (*markerStyle).second)
break;
}
auto findIt = std::find_if(markerList.begin(), markerList.end(), [&marker_arg](const auto& it) {
return marker_arg == it.first || marker_arg == it.second;
});

marker_arg = "CIRCLE_FILLED";
marker_arg = (findIt != markerList.end() ? findIt->second : "CIRCLE_FILLED");

if (markerStyle != markerList.end())
marker_arg = (*markerStyle).second;

//get the marker size
auto sizeList = Gui::Inventor::MarkerBitmaps::getSupportedSizes(marker_arg);
Expand Down
2 changes: 1 addition & 1 deletion src/Gui/CommandDoc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1286,7 +1286,7 @@ StdCmdSelectAll::StdCmdSelectAll()
sWhatsThis = "Std_SelectAll";
sStatusTip = QT_TR_NOOP("Select all");
sPixmap = "edit-select-all";
//sAccel = "Ctrl+A"; // superseeds shortcuts for text edits
//sAccel = "Ctrl+A"; // supersedes shortcuts for text edits
}

void StdCmdSelectAll::activated(int iMsg)
Expand Down
42 changes: 42 additions & 0 deletions src/Gui/CommandWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
#include "Document.h"
#include "DlgActivateWindowImp.h"
#include "DockWindowManager.h"
#include "ToolBarManager.h"

#include <Base/Exception.h>
#include <App/Document.h>
Expand Down Expand Up @@ -339,6 +340,46 @@ Action * StdCmdToolBarMenu::createAction()
return pcAction;
}

//===========================================================================
// Std_DlgToggleToolBarLock
//===========================================================================
DEF_STD_CMD_C(StdCmdToggleToolBarLock)

StdCmdToggleToolBarLock::StdCmdToggleToolBarLock()
:Command("Std_ToggleToolBarLock")
{
sGroup = "Tools";
sMenuText = QT_TR_NOOP("Lock toolbars");
sToolTipText = QT_TR_NOOP("Locks toolbar so they are no longer moveable");
sWhatsThis = "Std_ToggleToolBarLock";
sStatusTip = QT_TR_NOOP("Locks toolbar so they are no longer moveable");
eType = 0;
}


Action* StdCmdToggleToolBarLock::createAction()
{
Action* action = Command::createAction();

action->setCheckable(true);
action->setChecked(ToolBarManager::getInstance()->areToolBarsLocked(), true);

return action;
}

void StdCmdToggleToolBarLock::activated(int iMsg)
{
Q_UNUSED(iMsg);

auto manager = ToolBarManager::getInstance();
auto toggled = !manager->areToolBarsLocked();

manager->setToolBarsLocked(toggled);

getAction()->setChecked(toggled);
}


//===========================================================================
// Std_ViewStatusBar
//===========================================================================
Expand Down Expand Up @@ -475,6 +516,7 @@ void CreateWindowStdCommands()
rcCmdMgr.addCommand(new StdCmdWindows());
rcCmdMgr.addCommand(new StdCmdDockViewMenu());
rcCmdMgr.addCommand(new StdCmdToolBarMenu());
rcCmdMgr.addCommand(new StdCmdToggleToolBarLock());
rcCmdMgr.addCommand(new StdCmdWindowsMenu());
rcCmdMgr.addCommand(new StdCmdStatusBar());
rcCmdMgr.addCommand(new StdCmdUserInterface());
Expand Down
4 changes: 4 additions & 0 deletions src/Gui/MainWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1387,6 +1387,10 @@ void MainWindow::onToolBarMenuAboutToShow()
menu->addAction(action);
}
}

menu->addSeparator();

Application::Instance->commandManager().getCommandByName("Std_ToggleToolBarLock")->addTo(menu);
}

void MainWindow::onDockWindowMenuAboutToShow()
Expand Down
30 changes: 25 additions & 5 deletions src/Gui/ToolBarManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -408,11 +408,7 @@ void ToolBarManager::restoreState() const
}
}


hPref = App::GetApplication().GetUserParameter().GetGroup("BaseApp")
->GetGroup("Preferences")->GetGroup("General");
bool lockToolBars = hPref->GetBool("LockToolBars", false);
setMovable(!lockToolBars);
setMovable(!areToolBarsLocked());
}

void ToolBarManager::retranslate() const
Expand All @@ -426,6 +422,30 @@ void ToolBarManager::retranslate() const
}
}

bool Gui::ToolBarManager::areToolBarsLocked() const
{
auto hPref = App::GetApplication()
.GetUserParameter()
.GetGroup("BaseApp")
->GetGroup("Preferences")
->GetGroup("General");

return hPref->GetBool("LockToolBars", false);
}

void Gui::ToolBarManager::setToolBarsLocked(bool locked) const
{
auto hPref = App::GetApplication()
.GetUserParameter()
.GetGroup("BaseApp")
->GetGroup("Preferences")
->GetGroup("General");

hPref->SetBool("LockToolBars", locked);

setMovable(!locked);
}

void Gui::ToolBarManager::setMovable(bool moveable) const
{
for (auto& tb : toolBars()) {
Expand Down
9 changes: 6 additions & 3 deletions src/Gui/ToolBarManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -103,14 +103,17 @@ class GuiExport ToolBarManager
void restoreState() const;
void retranslate() const;

void setMovable(bool movable) const;
bool areToolBarsLocked() const;
void setToolBarsLocked(bool locked) const;

void setState(const QList<QString>& names, State state);
void setState (const QString& name, State state);

void setState(const QString& name, State state);
protected:
void setup(ToolBarItem*, QToolBar*) const;

void setMovable(bool movable) const;

ToolBarItem::DefaultVisibility getToolbarPolicy(const QToolBar *) const;

/** Returns a list of all currently existing toolbars. */
Expand Down
1 change: 1 addition & 0 deletions src/Gui/ViewProviderGeometryObject.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ ViewProviderGeometryObject::ViewProviderGeometryObject()
pcShapeMaterial = new SoMaterial;
pcShapeMaterial->diffuseColor.setValue(r, g, b);
pcShapeMaterial->transparency = float(initialTransparency);
ShapeMaterial.setTransparency((float)initialTransparency / 100.0f);
pcShapeMaterial->ref();

pcBoundingBox = new Gui::SoFCBoundingBox;
Expand Down
1 change: 1 addition & 0 deletions src/Gui/Workbench.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -620,6 +620,7 @@ void StdWorkbench::setupContextMenu(const char* recipient, MenuItem* item) const

void StdWorkbench::createMainWindowPopupMenu(MenuItem* item) const
{
*item << "Std_ToggleToolBarLock";
*item << "Std_DlgCustomize";
}

Expand Down
2 changes: 1 addition & 1 deletion src/Mod/AddonManager/NetworkManager.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ def __init__(self):
def _setup_proxy(self):
"""Set up the proxy based on user preferences or prompts on command line"""

# Set up the proxy, if necesssary:
# Set up the proxy, if necessary:
if HAVE_FREECAD:
(
noProxyCheck,
Expand Down
Loading

0 comments on commit c566c89

Please sign in to comment.