Fixed issue #183. Show message "Changes saved".
--HG-- branch : develop
This commit is contained in:
parent
b05266b78e
commit
75f6bfd381
|
@ -30,6 +30,7 @@
|
||||||
#include "ui_dialogincrements.h"
|
#include "ui_dialogincrements.h"
|
||||||
#include "../../widgets/doubledelegate.h"
|
#include "../../widgets/doubledelegate.h"
|
||||||
#include "../../widgets/textdelegate.h"
|
#include "../../widgets/textdelegate.h"
|
||||||
|
#include "../../widgets/vwidgetpopup.h"
|
||||||
#include "../../xml/vstandardmeasurements.h"
|
#include "../../xml/vstandardmeasurements.h"
|
||||||
#include "../../xml/vindividualmeasurements.h"
|
#include "../../xml/vindividualmeasurements.h"
|
||||||
#include "../../core/vsettings.h"
|
#include "../../core/vsettings.h"
|
||||||
|
@ -379,6 +380,20 @@ void DialogIncrements::ShowHeaderUnits(QTableWidget *table, int column)
|
||||||
table->horizontalHeaderItem(column)->setText(unitHeader);
|
table->horizontalHeaderItem(column)->setText(unitHeader);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void DialogIncrements::ShowSuccess() const
|
||||||
|
{
|
||||||
|
VWidgetPopup *popup = new VWidgetPopup();
|
||||||
|
QLabel *label = new QLabel(tr("Data successfully saved."));
|
||||||
|
QFont f = label->font();
|
||||||
|
f.setBold(true);
|
||||||
|
f.setPixelSize(16);
|
||||||
|
label->setFont(f);
|
||||||
|
popup->SetWidget(label);
|
||||||
|
popup->SetLifeTime(2000);
|
||||||
|
popup->Show(frameGeometry().center());
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void DialogIncrements::ShowMeasurements()
|
void DialogIncrements::ShowMeasurements()
|
||||||
{
|
{
|
||||||
|
@ -434,6 +449,10 @@ void DialogIncrements::SaveGivenName()
|
||||||
messageBox.setStandardButtons(QMessageBox::Ok);
|
messageBox.setStandardButtons(QMessageBox::Ok);
|
||||||
messageBox.exec();
|
messageBox.exec();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ShowSuccess();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -452,6 +471,10 @@ void DialogIncrements::SaveFamilyName()
|
||||||
messageBox.setStandardButtons(QMessageBox::Ok);
|
messageBox.setStandardButtons(QMessageBox::Ok);
|
||||||
messageBox.exec();
|
messageBox.exec();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ShowSuccess();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -469,6 +492,10 @@ void DialogIncrements::SaveEmail()
|
||||||
messageBox.setStandardButtons(QMessageBox::Ok);
|
messageBox.setStandardButtons(QMessageBox::Ok);
|
||||||
messageBox.exec();
|
messageBox.exec();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ShowSuccess();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -486,6 +513,10 @@ void DialogIncrements::SaveSex(int index)
|
||||||
messageBox.setStandardButtons(QMessageBox::Ok);
|
messageBox.setStandardButtons(QMessageBox::Ok);
|
||||||
messageBox.exec();
|
messageBox.exec();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ShowSuccess();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -503,6 +534,10 @@ void DialogIncrements::SaveBirthDate(const QDate & date)
|
||||||
messageBox.setStandardButtons(QMessageBox::Ok);
|
messageBox.setStandardButtons(QMessageBox::Ok);
|
||||||
messageBox.exec();
|
messageBox.exec();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ShowSuccess();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -660,6 +695,7 @@ void DialogIncrements::clickedToolButtonAdd()
|
||||||
ui->toolButtonRemove->setEnabled(true);
|
ui->toolButtonRemove->setEnabled(true);
|
||||||
ui->tableWidgetIncrement->blockSignals(false);
|
ui->tableWidgetIncrement->blockSignals(false);
|
||||||
emit haveLiteChange();
|
emit haveLiteChange();
|
||||||
|
ShowSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -687,6 +723,7 @@ void DialogIncrements::clickedToolButtonRemove()
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
qCDebug(vDialog)<<"Could not find object with id"<<id;
|
qCDebug(vDialog)<<"Could not find object with id"<<id;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ui->tableWidgetIncrement->removeRow(row);
|
ui->tableWidgetIncrement->removeRow(row);
|
||||||
|
@ -697,6 +734,7 @@ void DialogIncrements::clickedToolButtonRemove()
|
||||||
|
|
||||||
ui->tableWidgetIncrement->blockSignals(false);
|
ui->tableWidgetIncrement->blockSignals(false);
|
||||||
emit haveLiteChange();
|
emit haveLiteChange();
|
||||||
|
ShowSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -801,6 +839,7 @@ void DialogIncrements::IncrementChanged ( qint32 row, qint32 column )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
emit haveLiteChange();
|
emit haveLiteChange();
|
||||||
|
ShowSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -853,7 +892,10 @@ void DialogIncrements::MeasurementChanged(qint32 row, qint32 column)
|
||||||
messageBox.setStandardButtons(QMessageBox::Ok);
|
messageBox.setStandardButtons(QMessageBox::Ok);
|
||||||
messageBox.exec();
|
messageBox.exec();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ShowSuccess();
|
||||||
|
}
|
||||||
data->ClearVariables();
|
data->ClearVariables();
|
||||||
m->Measurements();
|
m->Measurements();
|
||||||
|
|
||||||
|
|
|
@ -107,6 +107,7 @@ private:
|
||||||
void SetItemViewOnly(QTableWidgetItem *item);
|
void SetItemViewOnly(QTableWidgetItem *item);
|
||||||
void ShowUnits();
|
void ShowUnits();
|
||||||
void ShowHeaderUnits(QTableWidget *table, int column);
|
void ShowHeaderUnits(QTableWidget *table, int column);
|
||||||
|
void ShowSuccess() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // DIALOGINCREMENTS_H
|
#endif // DIALOGINCREMENTS_H
|
||||||
|
|
114
src/app/widgets/vwidgetpopup.cpp
Normal file
114
src/app/widgets/vwidgetpopup.cpp
Normal file
|
@ -0,0 +1,114 @@
|
||||||
|
/************************************************************************
|
||||||
|
**
|
||||||
|
** @file vwidgetpopup.cpp
|
||||||
|
** @author Roman Telezhynskyi <dismine(at)gmail.com>
|
||||||
|
** @date 16 2, 2015
|
||||||
|
**
|
||||||
|
** @brief
|
||||||
|
** @copyright
|
||||||
|
** This source code is part of the Valentine project, a pattern making
|
||||||
|
** program, whose allow create and modeling patterns of clothing.
|
||||||
|
** Copyright (C) 2015 Valentina project
|
||||||
|
** <https://bitbucket.org/dismine/valentina> All Rights Reserved.
|
||||||
|
**
|
||||||
|
** Valentina 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.
|
||||||
|
**
|
||||||
|
** Valentina 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 Valentina. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
**
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
#include "vwidgetpopup.h"
|
||||||
|
|
||||||
|
#include <QVBoxLayout>
|
||||||
|
#include <QDesktopWidget>
|
||||||
|
#include <QTimer>
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
VWidgetPopup::VWidgetPopup(QWidget *parent)
|
||||||
|
:QFrame(parent, Qt::Popup), mWidget(nullptr), mOwn(true), mOldParent(nullptr), lifeTime(-1)
|
||||||
|
{
|
||||||
|
setAttribute(Qt::WA_WindowPropagation);
|
||||||
|
|
||||||
|
if (parentWidget() == nullptr)
|
||||||
|
{
|
||||||
|
setAttribute(Qt::WA_DeleteOnClose);
|
||||||
|
}
|
||||||
|
|
||||||
|
setLayout(new QVBoxLayout());
|
||||||
|
layout()->setContentsMargins(0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VWidgetPopup::SetWidget(QWidget *widget, bool own)
|
||||||
|
{
|
||||||
|
if (mWidget)
|
||||||
|
{
|
||||||
|
layout()->removeWidget(mWidget);
|
||||||
|
|
||||||
|
if (mOwn)
|
||||||
|
{
|
||||||
|
mWidget->setParent(0);
|
||||||
|
delete mWidget;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mWidget->setParent(mOldParent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mWidget = widget;
|
||||||
|
mOwn = own;
|
||||||
|
mOldParent = 0;
|
||||||
|
|
||||||
|
if (mWidget)
|
||||||
|
{
|
||||||
|
mOldParent = mWidget->parentWidget();
|
||||||
|
mWidget->setParent(this);
|
||||||
|
layout()->addWidget(mWidget);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VWidgetPopup::Show(QPoint coord)
|
||||||
|
{
|
||||||
|
// important to do this before following adjustments!
|
||||||
|
QFrame::show();
|
||||||
|
|
||||||
|
const QRect screen(QDesktopWidget().availableGeometry());
|
||||||
|
coord.setX(coord.x() - width()/2);
|
||||||
|
|
||||||
|
if (coord.x() < screen.x())
|
||||||
|
{
|
||||||
|
coord.setX(screen.x());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (coord.y() < screen.y())
|
||||||
|
{
|
||||||
|
coord.setY(screen.y());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (coord.x() > (screen.right()-width()))
|
||||||
|
{
|
||||||
|
coord.setX(screen.right()-width());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (coord.y() > (screen.bottom()-height()))
|
||||||
|
{
|
||||||
|
coord.setY(screen.bottom()-height());
|
||||||
|
}
|
||||||
|
move(coord);
|
||||||
|
|
||||||
|
if (lifeTime > 0)
|
||||||
|
{
|
||||||
|
QTimer::singleShot(lifeTime, this, SLOT(close()));
|
||||||
|
}
|
||||||
|
}
|
106
src/app/widgets/vwidgetpopup.h
Normal file
106
src/app/widgets/vwidgetpopup.h
Normal file
|
@ -0,0 +1,106 @@
|
||||||
|
/************************************************************************
|
||||||
|
**
|
||||||
|
** @file vwidgetpopup.h
|
||||||
|
** @author Roman Telezhynskyi <dismine(at)gmail.com>
|
||||||
|
** @date 16 2, 2015
|
||||||
|
**
|
||||||
|
** @brief
|
||||||
|
** @copyright
|
||||||
|
** This source code is part of the Valentine project, a pattern making
|
||||||
|
** program, whose allow create and modeling patterns of clothing.
|
||||||
|
** Copyright (C) 2015 Valentina project
|
||||||
|
** <https://bitbucket.org/dismine/valentina> All Rights Reserved.
|
||||||
|
**
|
||||||
|
** Valentina 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.
|
||||||
|
**
|
||||||
|
** Valentina 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 Valentina. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
**
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
#ifndef VWIDGETPOPUP_H
|
||||||
|
#define VWIDGETPOPUP_H
|
||||||
|
|
||||||
|
#include <QFrame>
|
||||||
|
|
||||||
|
/**
|
||||||
|
\brief Class showing a widget as popup window.
|
||||||
|
|
||||||
|
setWidget() function allows you to specify the widget to be popped up.
|
||||||
|
After widget is set, you normally should call show() slot in order to pop the
|
||||||
|
widget up at the specified global position.
|
||||||
|
|
||||||
|
VWidgetPopup takes care about positioning of your widget on the screen so it will
|
||||||
|
be always visible even if popped beside.
|
||||||
|
*/
|
||||||
|
class VWidgetPopup : public QFrame
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
/** Constructor.
|
||||||
|
|
||||||
|
If \a parent not specified (default), then popup widget gets
|
||||||
|
attribute Qt::WA_DeleteOnClose and will be deleted after close.
|
||||||
|
*/
|
||||||
|
VWidgetPopup(QWidget *parent = 0);
|
||||||
|
|
||||||
|
/** Sets widget to be popped up to \a widget.
|
||||||
|
If \a own is true then the widget will be reparented to the popup widget.
|
||||||
|
*/
|
||||||
|
void SetWidget(QWidget *widget, bool own = true);
|
||||||
|
|
||||||
|
/** Returns widget to be popped up. */
|
||||||
|
inline QWidget* Widget() const;
|
||||||
|
|
||||||
|
/** Returns true if widget is owned by this popup widget, false otherwise. */
|
||||||
|
inline bool isOwned() const;
|
||||||
|
|
||||||
|
int GetLifeTime() const;
|
||||||
|
void SetLifeTime(int value);
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
/** Pops up the widget at global coordinates \a coord. */
|
||||||
|
void Show(QPoint coord);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
Q_DISABLE_COPY(VWidgetPopup)
|
||||||
|
QWidget *mWidget;
|
||||||
|
bool mOwn;
|
||||||
|
QWidget *mOldParent;
|
||||||
|
int lifeTime;
|
||||||
|
};
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
inline QWidget *VWidgetPopup::Widget() const
|
||||||
|
{
|
||||||
|
return mWidget;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
inline bool VWidgetPopup::isOwned() const
|
||||||
|
{
|
||||||
|
return mOwn;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
inline int VWidgetPopup::GetLifeTime() const
|
||||||
|
{
|
||||||
|
return lifeTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
inline void VWidgetPopup::SetLifeTime(int value)
|
||||||
|
{
|
||||||
|
lifeTime = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // VWIDGETPOPUP_H
|
|
@ -9,7 +9,8 @@ HEADERS += \
|
||||||
$$PWD/textdelegate.h \
|
$$PWD/textdelegate.h \
|
||||||
$$PWD/vtooloptionspropertybrowser.h \
|
$$PWD/vtooloptionspropertybrowser.h \
|
||||||
$$PWD/vformulapropertyeditor.h \
|
$$PWD/vformulapropertyeditor.h \
|
||||||
$$PWD/vformulaproperty.h
|
$$PWD/vformulaproperty.h \
|
||||||
|
$$PWD/vwidgetpopup.h
|
||||||
|
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
$$PWD/vtablegraphicsview.cpp \
|
$$PWD/vtablegraphicsview.cpp \
|
||||||
|
@ -19,4 +20,5 @@ SOURCES += \
|
||||||
$$PWD/textdelegate.cpp \
|
$$PWD/textdelegate.cpp \
|
||||||
$$PWD/vtooloptionspropertybrowser.cpp \
|
$$PWD/vtooloptionspropertybrowser.cpp \
|
||||||
$$PWD/vformulapropertyeditor.cpp \
|
$$PWD/vformulapropertyeditor.cpp \
|
||||||
$$PWD/vformulaproperty.cpp
|
$$PWD/vformulaproperty.cpp \
|
||||||
|
$$PWD/vwidgetpopup.cpp
|
||||||
|
|
Loading…
Reference in New Issue
Block a user