ui: Added edit project button to stats in overview
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 464 B |
@@ -243,6 +243,7 @@ add_files(
|
||||
utility/messaging/type/MessageInterruptTasks.h
|
||||
utility/messaging/type/MessageLoadProject.h
|
||||
utility/messaging/type/MessageMoveIDECursor.h
|
||||
utility/messaging/type/MessageProjectEdit.h
|
||||
utility/messaging/type/MessageProjectNew.h
|
||||
utility/messaging/type/MessageRedo.h
|
||||
utility/messaging/type/MessageRefresh.h
|
||||
|
||||
@@ -42,13 +42,12 @@ void CodeController::handleMessage(MessageActivateAll* message)
|
||||
statsSnippet.locationFile = std::make_shared<TokenLocationFile>(FilePath());
|
||||
statsSnippet.locationFile->isWholeCopy = true;
|
||||
|
||||
statsSnippet.title = ProjectSettings::getInstance()->getFilePath().withoutExtension().fileName();
|
||||
|
||||
std::vector<std::string> description = getProjectDescription(statsSnippet.locationFile.get());
|
||||
|
||||
std::stringstream ss;
|
||||
|
||||
ss << "\n";
|
||||
ss << "\tProject: " + ProjectSettings::getInstance()->getFilePath().withoutExtension().fileName() + "\n";
|
||||
|
||||
if (description.size())
|
||||
{
|
||||
ss << "\n";
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#ifndef MESSAGE_PROJECT_EDIT_H
|
||||
#define MESSAGE_PROJECT_EDIT_H
|
||||
|
||||
#include "utility/messaging/Message.h"
|
||||
|
||||
class MessageProjectEdit
|
||||
: public Message<MessageProjectEdit>
|
||||
{
|
||||
public:
|
||||
MessageProjectEdit()
|
||||
{
|
||||
}
|
||||
|
||||
static const std::string getStaticType()
|
||||
{
|
||||
return "MessageProjectEdit";
|
||||
}
|
||||
};
|
||||
|
||||
#endif // MESSAGE_PROJECT_EDIT_H
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "utility/logging/logging.h"
|
||||
#include "utility/messaging/type/MessageActivateFile.h"
|
||||
#include "utility/messaging/type/MessageChangeFileView.h"
|
||||
#include "utility/messaging/type/MessageProjectEdit.h"
|
||||
|
||||
#include "data/location/TokenLocation.h"
|
||||
#include "data/location/TokenLocationFile.h"
|
||||
@@ -157,6 +158,31 @@ void QtCodeFile::addCodeSnippet(const CodeSnippetParams& params)
|
||||
if (params.reduced)
|
||||
{
|
||||
m_title->hide();
|
||||
|
||||
QPushButton* title = new QPushButton(params.title.c_str(), this);
|
||||
title->setObjectName("title_label");
|
||||
title->minimumSizeHint(); // force font loading
|
||||
title->setAttribute(Qt::WA_LayoutUsesWidgetRect); // fixes layouting on Mac
|
||||
title->setFixedHeight(std::max(title->fontMetrics().height() * 1.2, 28.0));
|
||||
title->setSizePolicy(sizePolicy().horizontalPolicy(), QSizePolicy::Fixed);
|
||||
|
||||
if (isTrial())
|
||||
{
|
||||
title->setEnabled(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
std::string text = ResourcePaths::getGuiPath() + "code_view/images/edit.png";
|
||||
|
||||
title->setIcon(utility::colorizePixmap(
|
||||
QPixmap(text.c_str()),
|
||||
ColorScheme::getInstance()->getColor("code/file/title/icon").c_str()
|
||||
));
|
||||
|
||||
connect(title, SIGNAL(clicked()), this, SLOT(editProject()));
|
||||
}
|
||||
|
||||
dynamic_cast<QHBoxLayout*>(m_titleBar->layout())->insertWidget(1, title);
|
||||
}
|
||||
|
||||
m_snippetLayout->addWidget(snippet.get());
|
||||
@@ -379,6 +405,11 @@ void QtCodeFile::clickedTitle()
|
||||
MessageActivateFile(m_filePath).dispatch();
|
||||
}
|
||||
|
||||
void QtCodeFile::editProject()
|
||||
{
|
||||
MessageProjectEdit().dispatch();
|
||||
}
|
||||
|
||||
void QtCodeFile::clickedMinimizeButton() const
|
||||
{
|
||||
MessageChangeFileView(
|
||||
|
||||
@@ -73,6 +73,7 @@ public slots:
|
||||
private slots:
|
||||
void clickedTitleBar();
|
||||
void clickedTitle();
|
||||
void editProject();
|
||||
|
||||
private:
|
||||
virtual void handleMessage(MessageWindowFocus* message);
|
||||
|
||||
@@ -74,7 +74,7 @@ QtCodeSnippet::QtCodeSnippet(const CodeSnippetParams& params, QtCodeFile* file)
|
||||
layout->setAlignment(Qt::AlignTop);
|
||||
setLayout(layout);
|
||||
|
||||
if (m_titleString.size())
|
||||
if (m_titleString.size() && !params.reduced)
|
||||
{
|
||||
m_title = createScopeLine(layout);
|
||||
if (m_titleId == 0) // title is a file path
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
#include "qt/window/QtMainWindow.h"
|
||||
|
||||
QtMainView::QtMainView()
|
||||
: m_createNewProjectFromSolutionFunctor(std::bind(&QtMainView::doCreateNewProjectFromSolution, this, std::placeholders::_1, std::placeholders::_2))
|
||||
: m_editProjectFunctor(std::bind(&QtMainView::doEditProject, this))
|
||||
, m_createNewProjectFromSolutionFunctor(std::bind(&QtMainView::doCreateNewProjectFromSolution, this, std::placeholders::_1, std::placeholders::_2))
|
||||
, m_showStartScreenFunctor(std::bind(&QtMainView::doShowStartScreen, this))
|
||||
, m_hideStartScreenFunctor(std::bind(&QtMainView::doHideStartScreen, this))
|
||||
, m_setTitleFunctor(std::bind(&QtMainView::doSetTitle, this, std::placeholders::_1))
|
||||
@@ -124,6 +125,11 @@ void QtMainView::handleMessage(MessageForceEnterLicense* message)
|
||||
m_forceLicenseScreenFunctor(message->licenseExpired);
|
||||
}
|
||||
|
||||
void QtMainView::handleMessage(MessageProjectEdit* message)
|
||||
{
|
||||
m_editProjectFunctor();
|
||||
}
|
||||
|
||||
void QtMainView::handleMessage(MessageProjectNew* message)
|
||||
{
|
||||
if (message->ideId.size() != 0 && message->solutionPath.size() != 0)
|
||||
@@ -137,6 +143,11 @@ void QtMainView::handleMessage(MessageShowStartScreen* message)
|
||||
m_showStartScreenFunctor();
|
||||
}
|
||||
|
||||
void QtMainView::doEditProject()
|
||||
{
|
||||
m_window->editProject();
|
||||
}
|
||||
|
||||
void QtMainView::doCreateNewProjectFromSolution(const std::string& ideId, const std::string& solutionPath)
|
||||
{
|
||||
m_window->newProjectFromSolution(ideId, solutionPath);
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
#include "utility/messaging/MessageListener.h"
|
||||
#include "utility/messaging/type/MessageForceEnterLicense.h"
|
||||
#include "utility/messaging/type/MessageProjectEdit.h"
|
||||
#include "utility/messaging/type/MessageProjectNew.h"
|
||||
#include "utility/messaging/type/MessageShowStartScreen.h"
|
||||
|
||||
@@ -20,6 +21,7 @@ class View;
|
||||
class QtMainView
|
||||
: public MainView
|
||||
, public MessageListener<MessageForceEnterLicense>
|
||||
, public MessageListener<MessageProjectEdit>
|
||||
, public MessageListener<MessageProjectNew>
|
||||
, public MessageListener<MessageShowStartScreen>
|
||||
{
|
||||
@@ -50,9 +52,11 @@ public:
|
||||
|
||||
private:
|
||||
void handleMessage(MessageForceEnterLicense* message);
|
||||
void handleMessage(MessageProjectEdit* message);
|
||||
void handleMessage(MessageProjectNew* message);
|
||||
void handleMessage(MessageShowStartScreen* message);
|
||||
|
||||
void doEditProject();
|
||||
void doCreateNewProjectFromSolution(const std::string& ideId, const std::string& solutionPath);
|
||||
void doShowStartScreen();
|
||||
void doHideStartScreen();
|
||||
@@ -66,6 +70,7 @@ private:
|
||||
std::shared_ptr<QtMainWindow> m_window;
|
||||
std::vector<View*> m_views;
|
||||
|
||||
QtThreadedFunctor<> m_editProjectFunctor;
|
||||
QtThreadedFunctor<const std::string&, const std::string&> m_createNewProjectFromSolutionFunctor;
|
||||
QtThreadedFunctor<> m_showStartScreenFunctor;
|
||||
QtThreadedFunctor<> m_hideStartScreenFunctor;
|
||||
|
||||
Reference in New Issue
Block a user