diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e0ff5f..d4431bc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -153,6 +153,7 @@ else() if (SomeQtFound) message(STATUS "Building Qt-derived targets for ${QtVersions}") add_subdirectory(qad) + include_directories(${qad_includes}) set(_DIRS piqt piqt_utils qcd_utils) if (Qt5) list(APPEND _DIRS) diff --git a/pip b/pip index 9834ac1..ccd6a98 160000 --- a/pip +++ b/pip @@ -1 +1 @@ -Subproject commit 9834ac177bfae3f0bfa14c083e3857560ec59b38 +Subproject commit ccd6a9888f0b77834fd01dd278f2f1022fa6db58 diff --git a/piqt_utils/CMakeLists.txt b/piqt_utils/CMakeLists.txt index c7c206a..666672b 100644 --- a/piqt_utils/CMakeLists.txt +++ b/piqt_utils/CMakeLists.txt @@ -23,7 +23,7 @@ list(APPEND QT_MULTILIB_LIST ${PROJECT_NAME}) set(QT_MULTILIB_LIST ${QT_MULTILIB_LIST} PARENT_SCOPE) include_directories(${PIP_INCLUDES} ${QAD_INCLUDES}) file(GLOB SRC "*.h" "*.cpp" "*.ui" "*.qrc" "lang/*.ts") -pip_code_model(CCM "../pip/lib/main/io_devices/piiodevice.h" "../pip/lib/main/io_utils/pipacketextractor.h" OPTIONS "-DPIP_EXPORT" "-Es") +pip_code_model(CCM "../pip/libs/main/io_devices/piiodevice.h" "../pip/libs/main/io_utils/pipacketextractor.h" OPTIONS "-DPIP_EXPORT" "-Es") find_qt(${QtVersions} Core Gui) qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS out_QM) qt_add_library(${PROJECT_NAME} ${LIBTYPE} out_CPP CCM) diff --git a/piqt_utils/piintrospector/CMakeLists.txt b/piqt_utils/piintrospector/CMakeLists.txt index 3e607b0..315beff 100644 --- a/piqt_utils/piintrospector/CMakeLists.txt +++ b/piqt_utils/piintrospector/CMakeLists.txt @@ -1,6 +1,6 @@ project(piintrospector) file(GLOB SRC "*.h" "*.cpp" "*.ui" "*.qrc" "lang/*.ts") -set(PII_ROOT "../../pip/lib/main/introspection") +set(PII_ROOT "../../pip/libs/main/introspection") pip_code_model(PII_CCM "${PII_ROOT}/piintrospection_server_p.h" "${PII_ROOT}/piintrospection_threads_p.h" OPTIONS "-DPIP_EXPORT" "-Es") find_qt(${QtVersions} Core Gui) qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS out_QM) diff --git a/qad/CMakeLists.txt b/qad/CMakeLists.txt index 210183b..d73518c 100644 --- a/qad/CMakeLists.txt +++ b/qad/CMakeLists.txt @@ -184,10 +184,6 @@ macro(qad_project NAME _MODULES _LIBS) endif() qt_target_link_libraries(${PROJ_NAME} ${_LIBS}) qad_install(${PROJ_NAME} "out_HDR" "out_QM") - set(${NAME}_UTILS 1) - if (LIBPROJECT) - set(${NAME}_UTILS ${UTILS}) - endif() message(STATUS "Building ${PROJ_NAME}") if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/plugin") set(_${NAME}_PLUGIN_LIBS "${_LIBS}") @@ -195,15 +191,14 @@ macro(qad_project NAME _MODULES _LIBS) endif() endmacro() -set(DIRS utils widgets application blockview graphic sql_table touch_widgets doc) -foreach(D ${DIRS}) - list(APPEND QT_MULTILIB_LIST qad_${D}) -endforeach(D) +add_subdirectory(libs) +if (UTILS) + add_subdirectory(utils) +endif() + set(QT_MULTILIB_LIST ${QT_MULTILIB_LIST} PARENT_SCOPE) -foreach(D ${DIRS}) - include_directories(${D}) - add_subdirectory(${D}) -endforeach(D) +set(qad_includes ${qad_includes} PARENT_SCOPE) if (LIB) set(_ALL_TARGETS ${_ALL_TARGETS} PARENT_SCOPE) endif() + diff --git a/qad/application/qad_application.qrc b/qad/application/qad_application.qrc deleted file mode 100644 index aed461c..0000000 --- a/qad/application/qad_application.qrc +++ /dev/null @@ -1,35 +0,0 @@ - - - lang/qad_application_ru.ts - ../icons/application-exit.png - ../icons/dialog-close.png - ../icons/configure.png - ../icons/document-edit.png - ../icons/document-new.png - ../icons/document-save.png - ../icons/document-save-all.png - ../icons/document-save-as.png - ../icons/document-open.png - ../icons/document-open-recent.png - ../icons/document-close.png - ../icons/edit-clear.png - ../icons/edit-clear-locationbar-rtl.png - ../icons/edit-find.png - ../icons/list-add.png - ../icons/edit-delete.png - ../icons/edit-copy.png - ../icons/edit-paste.png - ../icons/edit-undo.png - ../icons/edit-redo.png - ../icons/border-line.png - ../icons/edockwidget.png - ../icons/historyview.png - ../icons/clear-history.png - ../icons/layer-visible-off.png - ../icons/layer-visible-on.png - ../icons/logview.png - ../icons/qt.png - ../icons/select-all.png - ../icons/select-none.png - - diff --git a/qad/blockview/CMakeLists.txt b/qad/blockview/CMakeLists.txt deleted file mode 100644 index 9f788a4..0000000 --- a/qad/blockview/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -qad_project(blockview "Gui;Widgets" "qad_utils;qad_widgets") -if (blockview_UTILS) - add_subdirectory(blockeditor) -endif() diff --git a/qad/blockview/qad_blockview.qrc b/qad/blockview/qad_blockview.qrc deleted file mode 100644 index 03b9335..0000000 --- a/qad/blockview/qad_blockview.qrc +++ /dev/null @@ -1,51 +0,0 @@ - - - ../icons/draw-line.png - ../icons/align-hor.png - ../icons/align-ver.png - ../icons/dialog-close.png - ../icons/edit-clear.png - ../icons/edit-guides.png - ../icons/view-grid.png - ../icons/zoom-fit-best.png - ../icons/configure.png - ../icons/document-save.png - ../icons/edit-clear-locationbar-rtl.png - ../icons/edit-find.png - ../icons/list-add.png - ../icons/edit-delete.png - ../icons/item.png - ../icons/node-add.png - ../icons/node.png - ../icons/edit-copy.png - ../icons/edit-paste.png - ../icons/expand_s_x.png - ../icons/expand_s_y.png - ../icons/expand_x.png - ../icons/expand_y.png - ../icons/border-line.png - ../icons/legend.png - ../icons/blockview.png - ../icons/view-fullscreen.png - ../icons/draw-ellipse.png - ../icons/draw-rectangle.png - ../icons/draw-text.png - ../icons/view-preview.png - ../icons/format-fill-color.png - ../icons/format-stroke-color.png - ../icons/document-open.png - ../icons/align-bottom-center.png - ../icons/align-bottom-left.png - ../icons/align-bottom-right.png - ../icons/align-center-center.png - ../icons/align-center-left.png - ../icons/align-center-right.png - ../icons/align-top-center.png - ../icons/align-top-left.png - ../icons/align-top-right.png - ../icons/z-bottom.png - ../icons/z-down.png - ../icons/z-top.png - ../icons/z-up.png - - diff --git a/qad/graphic/qad_graphic.qrc b/qad/graphic/qad_graphic.qrc deleted file mode 100644 index 3ca1b8e..0000000 --- a/qad/graphic/qad_graphic.qrc +++ /dev/null @@ -1,28 +0,0 @@ - - - ../icons/media-playback-pause.png - ../icons/dialog-close.png - ../icons/edit-clear.png - ../icons/edit-guides.png - ../icons/view-grid.png - ../icons/view-autofit.png - ../icons/configure.png - ../icons/document-save.png - ../icons/edit-clear-locationbar-rtl.png - ../icons/edit-find.png - ../icons/list-add.png - ../icons/edit-delete.png - ../icons/edit-copy.png - ../icons/edit-paste.png - ../icons/expand_s_x.png - ../icons/expand_s_y.png - ../icons/expand_x.png - ../icons/expand_y.png - ../icons/border-line.png - ../icons/legend.png - ../icons/graphic.png - ../icons/view-fullscreen.png - ../icons/pause-back.png - ../icons/pause-front.png - - diff --git a/qad/graphic/qpicalculator/CMakeLists.txt.user b/qad/graphic/qpicalculator/CMakeLists.txt.user deleted file mode 100644 index 6d91a76..0000000 --- a/qad/graphic/qpicalculator/CMakeLists.txt.user +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - EnvironmentId - {948faa78-0b50-402e-a285-1bca3b08de64} - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - true - false - false - - Cpp - - CppGlobal - - - - QmlJS - - QmlJSGlobal - - - 2 - UTF-8 - false - 4 - false - 80 - true - true - 1 - true - false - 0 - true - 0 - 8 - true - 1 - true - true - true - false - - - - ProjectExplorer.Project.PluginSettings - - - - ProjectExplorer.Project.Target.0 - - DesktopBuild - DesktopBuild - {3c749452-9483-442d-b011-933a1b5dac10} - 0 - 0 - 0 - - false - D:/work/qpicalculator-build - - - - - false - true - Сборка - - CMakeProjectManager.MakeStep - - 1 - Сборка - - ProjectExplorer.BuildSteps.Build - - - - clean - - true - true - Сборка - - CMakeProjectManager.MakeStep - - 1 - Очистка - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - all - - CMakeProjectManager.CMakeBuildConfiguration - - 1 - - - 0 - Установка - - ProjectExplorer.BuildSteps.Deploy - - 1 - Локальная установка - - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - - false - false - false - false - true - 0.01 - 10 - true - 1 - 25 - - 3 - true - false - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - qpicalculator - - false - - 2 - - qpicalculator - - CMakeProjectManager.CMakeRunConfiguration.qpicalculator - 3768 - false - true - false - false - true - - 1 - - - - ProjectExplorer.Project.TargetCount - 1 - - - ProjectExplorer.Project.Updater.FileVersion - 16 - - - Version - 16 - - diff --git a/qad/application/CMakeLists.txt b/qad/libs/application/CMakeLists.txt similarity index 98% rename from qad/application/CMakeLists.txt rename to qad/libs/application/CMakeLists.txt index 1c3f057..fc08834 100644 --- a/qad/application/CMakeLists.txt +++ b/qad/libs/application/CMakeLists.txt @@ -1 +1 @@ -qad_project(application "Gui;Widgets" "qad_widgets") +qad_project(application "Gui;Widgets" "qad_widgets") diff --git a/qad/application/aboutwindow.cpp b/qad/libs/application/aboutwindow.cpp similarity index 96% rename from qad/application/aboutwindow.cpp rename to qad/libs/application/aboutwindow.cpp index 14169de..585c58c 100644 --- a/qad/application/aboutwindow.cpp +++ b/qad/libs/application/aboutwindow.cpp @@ -1,217 +1,217 @@ -#include "aboutwindow.h" -#include "ui_aboutwindow.h" -#include "qad_types.h" -#include "qpiconfig.h" -#include -#include -#if QT_VERSION < 0x050000 -# include -#else -# include -#endif - -#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) -# define MOBILE_VIEW -#endif - -QImage AboutWindow::logo; -QVector AboutWindow::versions, AboutWindow::builds; -QString AboutWindow::comment, AboutWindow::stylesheet; - - -AboutWindow::AboutWindow(QWidget * parent): QDialog(parent), ui(new Ui::AboutWindow) { -#ifdef ANDROID - QDialog::setStyleSheet("font: 12pt \"DejaVu Sans\";"); -#endif - if (!stylesheet.isEmpty()) - QDialog::setStyleSheet(stylesheet); - ui->setupUi(this); - ui->labelAuthors->setOpenExternalLinks(true); - QImage logo_im = logo; - if (logo_im.isNull()) - logo_im.load(":/icons/splash.png"); - setWindowTitle(QApplication::applicationName() + " - " + tr("About")); - QIcon ic = QApplication::windowIcon(); - if (ic.isNull()) { - QWidgetList tlw = QApplication::topLevelWidgets(); - foreach (QWidget * w, tlw) - if (!w->windowIcon().isNull()) { - ic = w->windowIcon(); - break; - } - } - if (ic.isNull()) - ic = QIcon(QPixmap::fromImage(logo_im)); - setWindowIcon(ic); - QFormLayout * lay = (QFormLayout*)(ui->groupVersions->layout()); - foreach (SSPair p, versions) { - lay->addRow(p.first, new QLabel(p.second)); - } - lay = (QFormLayout*)(ui->groupBuild->layout()); - foreach (SSPair p, builds) { - lay->addRow(p.first, new QLabel(p.second)); - } - ui->imageView->setPixmap(QPixmap::fromImage(logo_im)); - ui->labelComment->setText(comment); - ui->labelComment->setOpenExternalLinks(true); - ui->labelComment->setHidden(comment.isEmpty()); - //ui->labelArch->setText(QSysInfo::currentCpuArchitecture()); - ui->labelAuthors->setText(authors()); - connect(ui->buttonQt, SIGNAL(clicked()), qApp, SLOT(aboutQt())); -#ifdef MOBILE_VIEW - ui->layoutMain->insertWidget(0, ui->imageView); - //ui->verticalSpacer->changeSize(1, 1, QSizePolicy::Preferred, QSizePolicy::Preferred); -#endif -#ifdef MOBILE_VIEW - ui->layoutMain->addSpacerItem(new QSpacerItem(1, 1, QSizePolicy::Preferred, QSizePolicy::Expanding)); -#else - QRect r; -# if QT_VERSION < 0x050000 - r = QApplication::desktop()->geometry(); -# else - QScreen * scr = -# if QT_VERSION >= 0x050A00 - QApplication::screenAt(QCursor::pos()); -# else - QApplication::screens()[0]; -# endif - if (scr) { - r.setSize(scr->availableSize() / 2); - r.moveCenter(scr->availableGeometry().center()); - } -# endif - if (r.isValid()) - setGeometry(r); -#endif -} - - -AboutWindow::~AboutWindow() { - delete ui; -} - - -void AboutWindow::setLogo(QImage im) { - logo = im; -} - - -void AboutWindow::setLogo(QString path) { - logo = QImage(path); -} - - -void AboutWindow::addVersion(QString name, QString version) { - if (!name.endsWith(":")) name.append(":"); - foreach (const SSPair & p, versions) { - if (p.first == name) return; - } - version.prepend(""); - if (version.contains("(")) - version.insert(version.indexOf("("), ""); - else - version.append(""); - versions << SSPair(name, version); -} - - -void AboutWindow::addBuildInfo(QString name, QString value) { - if (!name.endsWith(":")) name.append(":"); - foreach (const SSPair & p, builds) { - if (p.first == name) return; - } - builds << SSPair(name, value); -} - - -void AboutWindow::setComment(QString text) { - comment = text; -} - - -void AboutWindow::setStyleSheet(QString ss) { - stylesheet = ss; -} - - -void AboutWindow::show() { - AboutWindow w; - w.exec(); -} - - -int AboutWindow::exec() { -#ifdef MOBILE_VIEW - showFullScreen(); - //setWindowState(Qt::WindowFullScreen); -#endif - return QDialog::exec(); -} - - -void AboutWindow::changeEvent(QEvent *e) { - QDialog::changeEvent(e); - switch (e->type()) { - case QEvent::LanguageChange: - ui->retranslateUi(this); - setWindowTitle(QApplication::applicationName() + " - " + tr("About")); - break; - case QEvent::FontChange: - case QEvent::Polish: - ui->buttonOK->setIconSize(preferredIconSize(2., this)); - ui->buttonQt->setIconSize(preferredIconSize(2., this)); - break; - default: break; - } -} - - -void addAuthor(QString & ret, const QString & name, const QString & mail) { - ret += QString("

%1 (%2)

").arg(name, mail, QApplication::applicationName()); -} -QString AboutWindow::authors() { - QString ret, fc; - if (QFile::exists(":/authors.txt")) { - QFile f(":/authors.txt"); - f.open(QIODevice::ReadOnly); - fc = QString::fromUtf8(f.readAll()); - } else { - if (QFile::exists(":/AUTHORS.txt")) { - QFile f(":/AUTHORS.txt"); - f.open(QIODevice::ReadOnly); - fc = QString::fromUtf8(f.readAll()); - } - } - QTextStream ts(&fc, QIODevice::ReadOnly); - QString l = ts.readLine(); - if (l.contains(";")) { - QStringList sl; - while (!ts.atEnd()) { - l = ts.readLine(); - if (l.isEmpty()) continue; - QString name, mail; - sl = l.split(";"); - if (sl.size() > 0) name = sl[0].trimmed(); - if (sl.size() > 1) mail = sl[1].trimmed(); - addAuthor(ret, name, mail); - } - return ret; - } else { - QPIConfig conf(&fc); - QPIConfig::Branch br = conf.allLeaves(); - foreach (QPIConfig::Entry * e, br) { - l = e->toString().trimmed(); - if (!l.contains("<")) continue; - QString name, mail; - name = l.left(l.indexOf("<")); - mail = l.mid(name.size() + 1); - if (mail.endsWith(">")) - mail.chop(1); - name = name.trimmed(); - mail = mail.trimmed(); - addAuthor(ret, name, mail); - } - } - return ret; -} - +#include "aboutwindow.h" +#include "ui_aboutwindow.h" +#include "qad_types.h" +#include "qpiconfig.h" +#include +#include +#if QT_VERSION < 0x050000 +# include +#else +# include +#endif + +#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) +# define MOBILE_VIEW +#endif + +QImage AboutWindow::logo; +QVector AboutWindow::versions, AboutWindow::builds; +QString AboutWindow::comment, AboutWindow::stylesheet; + + +AboutWindow::AboutWindow(QWidget * parent): QDialog(parent), ui(new Ui::AboutWindow) { +#ifdef ANDROID + QDialog::setStyleSheet("font: 12pt \"DejaVu Sans\";"); +#endif + if (!stylesheet.isEmpty()) + QDialog::setStyleSheet(stylesheet); + ui->setupUi(this); + ui->labelAuthors->setOpenExternalLinks(true); + QImage logo_im = logo; + if (logo_im.isNull()) + logo_im.load(":/icons/splash.png"); + setWindowTitle(QApplication::applicationName() + " - " + tr("About")); + QIcon ic = QApplication::windowIcon(); + if (ic.isNull()) { + QWidgetList tlw = QApplication::topLevelWidgets(); + foreach (QWidget * w, tlw) + if (!w->windowIcon().isNull()) { + ic = w->windowIcon(); + break; + } + } + if (ic.isNull()) + ic = QIcon(QPixmap::fromImage(logo_im)); + setWindowIcon(ic); + QFormLayout * lay = (QFormLayout*)(ui->groupVersions->layout()); + foreach (SSPair p, versions) { + lay->addRow(p.first, new QLabel(p.second)); + } + lay = (QFormLayout*)(ui->groupBuild->layout()); + foreach (SSPair p, builds) { + lay->addRow(p.first, new QLabel(p.second)); + } + ui->imageView->setPixmap(QPixmap::fromImage(logo_im)); + ui->labelComment->setText(comment); + ui->labelComment->setOpenExternalLinks(true); + ui->labelComment->setHidden(comment.isEmpty()); + //ui->labelArch->setText(QSysInfo::currentCpuArchitecture()); + ui->labelAuthors->setText(authors()); + connect(ui->buttonQt, SIGNAL(clicked()), qApp, SLOT(aboutQt())); +#ifdef MOBILE_VIEW + ui->layoutMain->insertWidget(0, ui->imageView); + //ui->verticalSpacer->changeSize(1, 1, QSizePolicy::Preferred, QSizePolicy::Preferred); +#endif +#ifdef MOBILE_VIEW + ui->layoutMain->addSpacerItem(new QSpacerItem(1, 1, QSizePolicy::Preferred, QSizePolicy::Expanding)); +#else + QRect r; +# if QT_VERSION < 0x050000 + r = QApplication::desktop()->geometry(); +# else + QScreen * scr = +# if QT_VERSION >= 0x050A00 + QApplication::screenAt(QCursor::pos()); +# else + QApplication::screens()[0]; +# endif + if (scr) { + r.setSize(scr->availableSize() / 2); + r.moveCenter(scr->availableGeometry().center()); + } +# endif + if (r.isValid()) + setGeometry(r); +#endif +} + + +AboutWindow::~AboutWindow() { + delete ui; +} + + +void AboutWindow::setLogo(QImage im) { + logo = im; +} + + +void AboutWindow::setLogo(QString path) { + logo = QImage(path); +} + + +void AboutWindow::addVersion(QString name, QString version) { + if (!name.endsWith(":")) name.append(":"); + foreach (const SSPair & p, versions) { + if (p.first == name) return; + } + version.prepend(""); + if (version.contains("(")) + version.insert(version.indexOf("("), ""); + else + version.append(""); + versions << SSPair(name, version); +} + + +void AboutWindow::addBuildInfo(QString name, QString value) { + if (!name.endsWith(":")) name.append(":"); + foreach (const SSPair & p, builds) { + if (p.first == name) return; + } + builds << SSPair(name, value); +} + + +void AboutWindow::setComment(QString text) { + comment = text; +} + + +void AboutWindow::setStyleSheet(QString ss) { + stylesheet = ss; +} + + +void AboutWindow::show() { + AboutWindow w; + w.exec(); +} + + +int AboutWindow::exec() { +#ifdef MOBILE_VIEW + showFullScreen(); + //setWindowState(Qt::WindowFullScreen); +#endif + return QDialog::exec(); +} + + +void AboutWindow::changeEvent(QEvent *e) { + QDialog::changeEvent(e); + switch (e->type()) { + case QEvent::LanguageChange: + ui->retranslateUi(this); + setWindowTitle(QApplication::applicationName() + " - " + tr("About")); + break; + case QEvent::FontChange: + case QEvent::Polish: + ui->buttonOK->setIconSize(preferredIconSize(2., this)); + ui->buttonQt->setIconSize(preferredIconSize(2., this)); + break; + default: break; + } +} + + +void addAuthor(QString & ret, const QString & name, const QString & mail) { + ret += QString("

%1 (%2)

").arg(name, mail, QApplication::applicationName()); +} +QString AboutWindow::authors() { + QString ret, fc; + if (QFile::exists(":/authors.txt")) { + QFile f(":/authors.txt"); + f.open(QIODevice::ReadOnly); + fc = QString::fromUtf8(f.readAll()); + } else { + if (QFile::exists(":/AUTHORS.txt")) { + QFile f(":/AUTHORS.txt"); + f.open(QIODevice::ReadOnly); + fc = QString::fromUtf8(f.readAll()); + } + } + QTextStream ts(&fc, QIODevice::ReadOnly); + QString l = ts.readLine(); + if (l.contains(";")) { + QStringList sl; + while (!ts.atEnd()) { + l = ts.readLine(); + if (l.isEmpty()) continue; + QString name, mail; + sl = l.split(";"); + if (sl.size() > 0) name = sl[0].trimmed(); + if (sl.size() > 1) mail = sl[1].trimmed(); + addAuthor(ret, name, mail); + } + return ret; + } else { + QPIConfig conf(&fc); + QPIConfig::Branch br = conf.allLeaves(); + foreach (QPIConfig::Entry * e, br) { + l = e->toString().trimmed(); + if (!l.contains("<")) continue; + QString name, mail; + name = l.left(l.indexOf("<")); + mail = l.mid(name.size() + 1); + if (mail.endsWith(">")) + mail.chop(1); + name = name.trimmed(); + mail = mail.trimmed(); + addAuthor(ret, name, mail); + } + } + return ret; +} + diff --git a/qad/application/aboutwindow.h b/qad/libs/application/aboutwindow.h similarity index 96% rename from qad/application/aboutwindow.h rename to qad/libs/application/aboutwindow.h index 4b165da..39e2346 100644 --- a/qad/application/aboutwindow.h +++ b/qad/libs/application/aboutwindow.h @@ -1,82 +1,82 @@ -/* - QAD - Qt ADvanced - - Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . -*/ - -#ifndef ABOUTWINDOW_H -#define ABOUTWINDOW_H - -#include "qad_export.h" -#include - -#define ADD_ABOUT_VERSION(lib) \ - { \ - if (lib##_VERSION_BUILD > 0) \ - AboutWindow::addVersion(#lib, lib##_VERSION_NAME " (build " + QString::number(lib##_VERSION_BUILD) + ")"); \ - else \ - AboutWindow::addVersion(#lib, lib##_VERSION_NAME); \ - } -#define ADD_ABOUT_VERSION_NAMED(lib, label) \ - { \ - if (lib##_VERSION_BUILD > 0) \ - AboutWindow::addVersion(label, lib##_VERSION_NAME " (build " + QString::number(lib##_VERSION_BUILD) + ")"); \ - else \ - AboutWindow::addVersion(label, lib##_VERSION_NAME); \ - } -#define ADD_ABOUT_BUILD_INFO(lib) \ - AboutWindow::addBuildInfo("Arch", lib##_ARCH); \ - AboutWindow::addBuildInfo("Compiler", lib##_CXX_COMPILER); \ - AboutWindow::addBuildInfo("CMake", lib##_CMAKE_VERSION); \ - AboutWindow::addBuildInfo("Date", lib##_BUILD_DATE); - -namespace Ui { - class AboutWindow; -} - -class QAD_EXPORT AboutWindow: public QDialog -{ - Q_OBJECT - typedef QPair SSPair; - explicit AboutWindow(QWidget * parent = 0); - ~AboutWindow(); -public: - - static void setLogo(QImage im); - static void setLogo(QString path); - static void addVersion(QString name, QString version); - static void addBuildInfo(QString name, QString value); - static void setComment(QString text); - static void setStyleSheet(QString ss); - - static void show(); - -protected: - virtual void changeEvent(QEvent * e); - virtual int exec(); - - QString authors(); - -private: - Ui::AboutWindow * ui; - - static QImage logo; - static QVector versions, builds; - static QString stylesheet, comment; - -}; - -#endif // ABOUTWINDOW_H +/* + QAD - Qt ADvanced + + Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ + +#ifndef ABOUTWINDOW_H +#define ABOUTWINDOW_H + +#include "qad_export.h" +#include + +#define ADD_ABOUT_VERSION(lib) \ + { \ + if (lib##_VERSION_BUILD > 0) \ + AboutWindow::addVersion(#lib, lib##_VERSION_NAME " (build " + QString::number(lib##_VERSION_BUILD) + ")"); \ + else \ + AboutWindow::addVersion(#lib, lib##_VERSION_NAME); \ + } +#define ADD_ABOUT_VERSION_NAMED(lib, label) \ + { \ + if (lib##_VERSION_BUILD > 0) \ + AboutWindow::addVersion(label, lib##_VERSION_NAME " (build " + QString::number(lib##_VERSION_BUILD) + ")"); \ + else \ + AboutWindow::addVersion(label, lib##_VERSION_NAME); \ + } +#define ADD_ABOUT_BUILD_INFO(lib) \ + AboutWindow::addBuildInfo("Arch", lib##_ARCH); \ + AboutWindow::addBuildInfo("Compiler", lib##_CXX_COMPILER); \ + AboutWindow::addBuildInfo("CMake", lib##_CMAKE_VERSION); \ + AboutWindow::addBuildInfo("Date", lib##_BUILD_DATE); + +namespace Ui { + class AboutWindow; +} + +class QAD_EXPORT AboutWindow: public QDialog +{ + Q_OBJECT + typedef QPair SSPair; + explicit AboutWindow(QWidget * parent = 0); + ~AboutWindow(); +public: + + static void setLogo(QImage im); + static void setLogo(QString path); + static void addVersion(QString name, QString version); + static void addBuildInfo(QString name, QString value); + static void setComment(QString text); + static void setStyleSheet(QString ss); + + static void show(); + +protected: + virtual void changeEvent(QEvent * e); + virtual int exec(); + + QString authors(); + +private: + Ui::AboutWindow * ui; + + static QImage logo; + static QVector versions, builds; + static QString stylesheet, comment; + +}; + +#endif // ABOUTWINDOW_H diff --git a/qad/application/aboutwindow.ui b/qad/libs/application/aboutwindow.ui similarity index 96% rename from qad/application/aboutwindow.ui rename to qad/libs/application/aboutwindow.ui index 3167f51..b6a1606 100644 --- a/qad/application/aboutwindow.ui +++ b/qad/libs/application/aboutwindow.ui @@ -1,155 +1,155 @@ - - - AboutWindow - - - - 0 - 0 - 724 - 502 - - - - - About - - - - - - QFrame::NoFrame - - - - - 0 - 0 - 0 - - - - - QPainter::SmoothPixmapTransform|QPainter::TextAntialiasing - - - - - - - - - - - - Versions - - - - QFormLayout::AllNonFixedFieldsGrow - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - Build - - - - QFormLayout::AllNonFixedFieldsGrow - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - Authors - - - - - - - - - - - - - - - - Qt::Vertical - - - - 1 - 1 - - - - - - - - About Qt... - - - - :/icons/qt.png:/icons/qt.png - - - - - - - OK - - - - :/icons/dialog-ok-apply.png:/icons/dialog-ok-apply.png - - - - - - - - - - ImageView - QGraphicsView -
image_view.h
-
-
- - - - - - - buttonOK - clicked() - AboutWindow - close() - - - 712 - 490 - - - 320 - 385 - - - - -
+ + + AboutWindow + + + + 0 + 0 + 724 + 502 + + + + - About + + + + + + QFrame::NoFrame + + + + + 0 + 0 + 0 + + + + + QPainter::SmoothPixmapTransform|QPainter::TextAntialiasing + + + + + + + + + + + + Versions + + + + QFormLayout::AllNonFixedFieldsGrow + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + Build + + + + QFormLayout::AllNonFixedFieldsGrow + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + Authors + + + + + + + + + + + + + + + + Qt::Vertical + + + + 1 + 1 + + + + + + + + About Qt... + + + + :/icons/qt.png:/icons/qt.png + + + + + + + OK + + + + :/icons/dialog-ok-apply.png:/icons/dialog-ok-apply.png + + + + + + + + + + ImageView + QGraphicsView +
image_view.h
+
+
+ + + + + + + buttonOK + clicked() + AboutWindow + close() + + + 712 + 490 + + + 320 + 385 + + + + +
diff --git a/qad/application/edockwidget.cpp b/qad/libs/application/edockwidget.cpp similarity index 100% rename from qad/application/edockwidget.cpp rename to qad/libs/application/edockwidget.cpp diff --git a/qad/application/edockwidget.h b/qad/libs/application/edockwidget.h similarity index 100% rename from qad/application/edockwidget.h rename to qad/libs/application/edockwidget.h diff --git a/qad/application/emainwindow.cpp b/qad/libs/application/emainwindow.cpp similarity index 100% rename from qad/application/emainwindow.cpp rename to qad/libs/application/emainwindow.cpp diff --git a/qad/application/emainwindow.h b/qad/libs/application/emainwindow.h similarity index 100% rename from qad/application/emainwindow.h rename to qad/libs/application/emainwindow.h diff --git a/qad/application/etabwidget.cpp b/qad/libs/application/etabwidget.cpp similarity index 100% rename from qad/application/etabwidget.cpp rename to qad/libs/application/etabwidget.cpp diff --git a/qad/application/etabwidget.h b/qad/libs/application/etabwidget.h similarity index 100% rename from qad/application/etabwidget.h rename to qad/libs/application/etabwidget.h diff --git a/qad/application/historyview.cpp b/qad/libs/application/historyview.cpp similarity index 100% rename from qad/application/historyview.cpp rename to qad/libs/application/historyview.cpp diff --git a/qad/application/historyview.h b/qad/libs/application/historyview.h similarity index 100% rename from qad/application/historyview.h rename to qad/libs/application/historyview.h diff --git a/qad/application/lang/qad_application_en.ts b/qad/libs/application/lang/qad_application_en.ts similarity index 100% rename from qad/application/lang/qad_application_en.ts rename to qad/libs/application/lang/qad_application_en.ts diff --git a/qad/application/lang/qad_application_ru.ts b/qad/libs/application/lang/qad_application_ru.ts similarity index 100% rename from qad/application/lang/qad_application_ru.ts rename to qad/libs/application/lang/qad_application_ru.ts diff --git a/qad/application/lang/update.bat b/qad/libs/application/lang/update.bat similarity index 100% rename from qad/application/lang/update.bat rename to qad/libs/application/lang/update.bat diff --git a/qad/application/logview.cpp b/qad/libs/application/logview.cpp similarity index 100% rename from qad/application/logview.cpp rename to qad/libs/application/logview.cpp diff --git a/qad/application/logview.h b/qad/libs/application/logview.h similarity index 100% rename from qad/application/logview.h rename to qad/libs/application/logview.h diff --git a/qad/application/logview.ui b/qad/libs/application/logview.ui similarity index 100% rename from qad/application/logview.ui rename to qad/libs/application/logview.ui diff --git a/qad/application/plugin/CMakeLists.txt b/qad/libs/application/plugin/CMakeLists.txt similarity index 97% rename from qad/application/plugin/CMakeLists.txt rename to qad/libs/application/plugin/CMakeLists.txt index 326c825..3a43fc4 100644 --- a/qad/application/plugin/CMakeLists.txt +++ b/qad/libs/application/plugin/CMakeLists.txt @@ -1 +1 @@ -qad_plugin(application "Gui;Widgets" "") +qad_plugin(application "Gui;Widgets" "") diff --git a/qad/application/plugin/edockwidgetplugin.cpp b/qad/libs/application/plugin/edockwidgetplugin.cpp similarity index 100% rename from qad/application/plugin/edockwidgetplugin.cpp rename to qad/libs/application/plugin/edockwidgetplugin.cpp diff --git a/qad/application/plugin/edockwidgetplugin.h b/qad/libs/application/plugin/edockwidgetplugin.h similarity index 100% rename from qad/application/plugin/edockwidgetplugin.h rename to qad/libs/application/plugin/edockwidgetplugin.h diff --git a/qad/application/plugin/emainwindowplugin.cpp b/qad/libs/application/plugin/emainwindowplugin.cpp similarity index 100% rename from qad/application/plugin/emainwindowplugin.cpp rename to qad/libs/application/plugin/emainwindowplugin.cpp diff --git a/qad/application/plugin/emainwindowplugin.h b/qad/libs/application/plugin/emainwindowplugin.h similarity index 100% rename from qad/application/plugin/emainwindowplugin.h rename to qad/libs/application/plugin/emainwindowplugin.h diff --git a/qad/application/plugin/historyviewplugin.cpp b/qad/libs/application/plugin/historyviewplugin.cpp similarity index 100% rename from qad/application/plugin/historyviewplugin.cpp rename to qad/libs/application/plugin/historyviewplugin.cpp diff --git a/qad/application/plugin/historyviewplugin.h b/qad/libs/application/plugin/historyviewplugin.h similarity index 100% rename from qad/application/plugin/historyviewplugin.h rename to qad/libs/application/plugin/historyviewplugin.h diff --git a/qad/application/plugin/logviewplugin.cpp b/qad/libs/application/plugin/logviewplugin.cpp similarity index 100% rename from qad/application/plugin/logviewplugin.cpp rename to qad/libs/application/plugin/logviewplugin.cpp diff --git a/qad/application/plugin/logviewplugin.h b/qad/libs/application/plugin/logviewplugin.h similarity index 100% rename from qad/application/plugin/logviewplugin.h rename to qad/libs/application/plugin/logviewplugin.h diff --git a/qad/application/plugin/qad_application.cpp b/qad/libs/application/plugin/qad_application.cpp similarity index 100% rename from qad/application/plugin/qad_application.cpp rename to qad/libs/application/plugin/qad_application.cpp diff --git a/qad/application/plugin/qad_application.h b/qad/libs/application/plugin/qad_application.h similarity index 100% rename from qad/application/plugin/qad_application.h rename to qad/libs/application/plugin/qad_application.h diff --git a/qad/libs/application/qad_application.qrc b/qad/libs/application/qad_application.qrc new file mode 100644 index 0000000..ad3f2fd --- /dev/null +++ b/qad/libs/application/qad_application.qrc @@ -0,0 +1,34 @@ + + + ../../icons/application-exit.png + ../../icons/dialog-close.png + ../../icons/configure.png + ../../icons/document-edit.png + ../../icons/document-new.png + ../../icons/document-save.png + ../../icons/document-save-all.png + ../../icons/document-save-as.png + ../../icons/document-open.png + ../../icons/document-open-recent.png + ../../icons/document-close.png + ../../icons/edit-clear.png + ../../icons/edit-clear-locationbar-rtl.png + ../../icons/edit-find.png + ../../icons/list-add.png + ../../icons/edit-delete.png + ../../icons/edit-copy.png + ../../icons/edit-paste.png + ../../icons/edit-undo.png + ../../icons/edit-redo.png + ../../icons/border-line.png + ../../icons/edockwidget.png + ../../icons/historyview.png + ../../icons/clear-history.png + ../../icons/layer-visible-off.png + ../../icons/layer-visible-on.png + ../../icons/logview.png + ../../icons/qt.png + ../../icons/select-all.png + ../../icons/select-none.png + + diff --git a/qad/application/qsingleapplication.cpp b/qad/libs/application/qsingleapplication.cpp similarity index 100% rename from qad/application/qsingleapplication.cpp rename to qad/libs/application/qsingleapplication.cpp diff --git a/qad/application/qsingleapplication.h b/qad/libs/application/qsingleapplication.h similarity index 100% rename from qad/application/qsingleapplication.h rename to qad/libs/application/qsingleapplication.h diff --git a/qad/application/ribbon.cpp b/qad/libs/application/ribbon.cpp similarity index 100% rename from qad/application/ribbon.cpp rename to qad/libs/application/ribbon.cpp diff --git a/qad/application/ribbon.h b/qad/libs/application/ribbon.h similarity index 100% rename from qad/application/ribbon.h rename to qad/libs/application/ribbon.h diff --git a/qad/libs/blockview/CMakeLists.txt b/qad/libs/blockview/CMakeLists.txt new file mode 100644 index 0000000..3d72fb5 --- /dev/null +++ b/qad/libs/blockview/CMakeLists.txt @@ -0,0 +1 @@ +qad_project(blockview "Gui;Widgets" "qad_utils;qad_widgets") diff --git a/qad/blockview/alignedtextitem.cpp b/qad/libs/blockview/alignedtextitem.cpp similarity index 100% rename from qad/blockview/alignedtextitem.cpp rename to qad/libs/blockview/alignedtextitem.cpp diff --git a/qad/blockview/alignedtextitem.h b/qad/libs/blockview/alignedtextitem.h similarity index 100% rename from qad/blockview/alignedtextitem.h rename to qad/libs/blockview/alignedtextitem.h diff --git a/qad/blockview/blockbase.cpp b/qad/libs/blockview/blockbase.cpp similarity index 100% rename from qad/blockview/blockbase.cpp rename to qad/libs/blockview/blockbase.cpp diff --git a/qad/blockview/blockbase.h b/qad/libs/blockview/blockbase.h similarity index 100% rename from qad/blockview/blockbase.h rename to qad/libs/blockview/blockbase.h diff --git a/qad/blockview/blockbusitem.cpp b/qad/libs/blockview/blockbusitem.cpp similarity index 100% rename from qad/blockview/blockbusitem.cpp rename to qad/libs/blockview/blockbusitem.cpp diff --git a/qad/blockview/blockbusitem.h b/qad/libs/blockview/blockbusitem.h similarity index 100% rename from qad/blockview/blockbusitem.h rename to qad/libs/blockview/blockbusitem.h diff --git a/qad/blockview/blockeditor.cpp b/qad/libs/blockview/blockeditor.cpp similarity index 96% rename from qad/blockview/blockeditor.cpp rename to qad/libs/blockview/blockeditor.cpp index 0bbdbf3..992c8fa 100644 --- a/qad/blockview/blockeditor.cpp +++ b/qad/libs/blockview/blockeditor.cpp @@ -1,400 +1,400 @@ -#include "blockeditor.h" -#include "ui_blockeditor.h" -#include "drawtools.h" -#include "blockview.h" -#include -#include -#include -#include -#include - - -BlockEditor::BlockEditor(QWidget *parent) : QWidget(parent), ui(new Ui::BlockEditor) { - init = false; - m_editorMode = false; - m_pinsEditable = true; - ui->setupUi(this); - src_title = windowTitle(); - connect(ui->blockView->scene(), SIGNAL(selectionChanged()), this, SLOT(selectionChanged())); - block.setFlags(0); - ui->blockView->addItem(&block); - ui->blockView->viewport()->installEventFilter(this); - DrawTools * drawtools = new DrawTools(ui->blockView); - connect(drawtools, SIGNAL(itemCreated(QGraphicsItem*)), this, SLOT(addItem(QGraphicsItem*))); - drawtools->textEditCombo()->addItems(QStringList() << "%name" << "%value" << "%id"); - ui->layoutProperties->addWidget(drawtools->propertyWidget()); - ui->actionRemove_items->setEnabled(false); - ui->button_color->setColor(Qt::lightGray); - ui->treePins->setItemDelegateForColumn(1, new PinBusDelegate()); - connect(ui->treePins, SIGNAL(itemChanged(QTreeWidgetItem*,int)), this, SLOT(updateBlock())); - ui->treePins->viewport()->installEventFilter(this); - - QToolBar * bar; - bar = new QToolBar(ui->widgetBar); - bar->setOrientation(Qt::Vertical); - bar->addActions(drawtools->actionsForAdd()); - ui->widgetBar->setMinimumSize(bar->sizeHint()); - - bar = new QToolBar(ui->widgetBarZ); - bar->setOrientation(Qt::Vertical); - bar->addActions(drawtools->actionsForZ()); - bar->addSeparator(); - bar->addActions(QList() << ui->actionRemove_items); - ui->widgetBarZ->setMinimumSize(bar->sizeHint()); - init = true; - on_buttonClear_clicked(); -} - - -BlockEditor::~BlockEditor() { - init = false; - delete ui; -} - - -void BlockEditor::loadFile(QString path) { - if (path.isEmpty()) return; - QFile f(path); - if (f.open(QIODevice::ReadOnly)) { - cur_file = path; - loadModel(f.readAll()); - QDir::setCurrent(QFileInfo(path).dir().path()); - } - setWindowTitle(src_title + QString(" - %1").arg(QFileInfo(path).baseName())); -} - - -void BlockEditor::loadModel(const QByteArray &model) { - BlockItem b; - b.loadModel(model); - ui->spin_w->setValue(b.width()); - ui->spin_h->setValue(b.height()); - ui->spin_margin->setValue(b.pinsMargin()); - ui->button_color->setColor(b.color()); - block.loadModel(model); - treePinsClear(); - ui->treePins->blockSignals(true); - QVector pins = block.pins(); - foreach (BlockItemPin * p, pins) { - QTreeWidgetItem * ti = new QTreeWidgetItem(QStringList() << p->text() << QString::number(p->busType())); - ti->setData(0, Qt::UserRole, qulonglong(p)); - ti->setData(0, Qt::UserRole + 1, (int)p->alignment()); - ti->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsDragEnabled); - pin_tli[p->alignment()]->addChild(ti); - } - foreach (QGraphicsItem * i, block.decors()) { - i->setData(1002, false); - i->setData(1100, true); - } - ui->treePins->blockSignals(false); -} - - -QByteArray BlockEditor::saveModel() { - return block.saveModel(); -} - - -void BlockEditor::setEditorMode(bool editorMode) { - m_editorMode = editorMode; - ui->buttonClear->setVisible(!editorMode); - ui->buttonSave->setVisible(!editorMode); - ui->buttonSaveAs->setVisible(!editorMode); - ui->buttonLoad->setVisible(!editorMode); -} - - -void BlockEditor::setPinsEditable(bool pinsEditable) { - m_pinsEditable = pinsEditable; - ui->treePins->setVisible(pinsEditable); - ui->buttonPinAdd->setVisible(pinsEditable); - ui->buttonPinClear->setVisible(pinsEditable); - ui->buttonPinDelete->setVisible(pinsEditable); - ui->buttonPinDup->setVisible(pinsEditable); - ui->groupPins->setVisible(pinsEditable); -} - - -void BlockEditor::selectionChanged() { - if (!init) return; - ui->actionRemove_items->setEnabled(!ui->blockView->scene()->selectedItems().isEmpty()); -} - - -void BlockEditor::addItem(QGraphicsItem *item) { - block.addDecor(item); - item->setData(1002, false); - item->setData(1100, true); -} - - -void BlockEditor::updateBlock() { - block.setSize(ui->spin_w->value(), ui->spin_h->value()); - block.setColor(ui->button_color->color()); - block.setPinsMargin(ui->spin_margin->value()); -} - - -void BlockEditor::treePinsClear() { - ui->treePins->blockSignals(true); - ui->treePins->clear(); - QFont bf(font()); bf.setBold(true); - QList al = QList() << Qt::AlignLeft << Qt::AlignRight << Qt::AlignTop << Qt::AlignBottom; - QStringList an = QStringList() << "Left" << "Right" << "Top" << "Bottom"; - pin_tli.clear(); - for (int i = 0; i < al.size(); ++i) { - QTreeWidgetItem * ti = new QTreeWidgetItem(); - ti->setFlags(Qt::ItemIsEnabled | Qt::ItemIsDropEnabled); - ti->setData(0, Qt::UserRole, al[i]); - ti->setText(0, an[i]); - ti->setFont(0, bf); - ui->treePins->addTopLevelItem(ti); - ti->setFirstColumnSpanned(true); - ti->setExpanded(true); - pin_tli[al[i]] = ti; - } - ui->treePins->blockSignals(false); -} - - -bool BlockEditor::eventFilter(QObject *o, QEvent *e) { - if (!init) QWidget::eventFilter(o, e); - if (o == ui->treePins->viewport()) { - if (e->type() == QEvent::Drop) { - QTimer::singleShot(0, this, SLOT(arrangePins())); - } - } - if (o == ui->blockView->viewport()) { - if (e->type() == QEvent::Resize) { - ui->blockView->centerOn(&block); - } - } - return QWidget::eventFilter(o, e); -} - - -void BlockEditor::changeEvent(QEvent * e) { - QWidget::changeEvent(e); - switch (e->type()) { - case QEvent::LanguageChange: - ui->retranslateUi(this); - break; - default: break; - } -} - - -void BlockEditor::on_actionRemove_items_triggered() { - QList si = ui->blockView->scene()->selectedItems(); - foreach (QGraphicsItem * i, si) - block.removeDecor(i); -} - - -void BlockEditor::on_buttonSave_clicked() { - if (cur_file.isEmpty()) { - on_buttonSaveAs_clicked(); - return; - } - QFile f(cur_file); - if (f.open(QIODevice::WriteOnly)) { - f.write(saveModel()); - //setWindowTitle(src_title + QString(" - %1").arg(QFileInfo(c).baseName())); - } -} - - -void BlockEditor::on_buttonSaveAs_clicked() { - QString c = QFileDialog::getSaveFileName(this, "Save block model to file", cur_file, "*.blockmodel"); - if (!c.isEmpty()) { - QFile f(c); - if (f.open(QIODevice::WriteOnly)) { - cur_file = c; - f.write(saveModel()); - setWindowTitle(src_title + QString(" - %1").arg(QFileInfo(c).baseName())); - } - } -} - - -void BlockEditor::on_buttonLoad_clicked() { - QString c = QFileDialog::getOpenFileName(this, "Save block model to file", cur_file, "*.blockmodel"); - loadFile(c); -} - - -void BlockEditor::on_buttonClear_clicked() { - BlockItem b; - ui->spin_w->setValue(b.width()); - ui->spin_h->setValue(b.height()); - ui->spin_margin->setValue(b.pinsMargin()); - ui->button_color->setColor(b.color()); - block.loadModel(QByteArray()); - treePinsClear(); -} - - - -void BlockEditor::on_buttonPinAdd_clicked() { - ui->treePins->blockSignals(true); - QTreeWidgetItem * ti = new QTreeWidgetItem(QStringList() << "" << "0"); - ti->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsDragEnabled); - ti->setData(0, Qt::UserRole, qulonglong(block.addPin(Qt::AlignLeft, ti->text(1).toInt(), ti->text(0)))); - ti->setData(0, Qt::UserRole + 1, (int)Qt::AlignLeft); - pin_tli[Qt::AlignLeft]->addChild(ti); - ui->treePins->setCurrentItem(ti); - ui->treePins->blockSignals(false); - updateBlock(); -} - - -void BlockEditor::on_buttonPinDup_clicked() { - QTreeWidgetItem * ci = ui->treePins->currentItem(); - if (ci == 0) return; - ui->treePins->blockSignals(true); - QTreeWidgetItem * ti = ci->clone(); - ti->setText(0, ti->text(0)); - ti->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsDragEnabled); - Qt::Alignment al = (Qt::Alignment)ci->data(0, Qt::UserRole + 1).toInt(); - ti->setData(0, Qt::UserRole, qulonglong(block.addPin(al, ci->text(1).toInt(), ci->text(0)))); - ti->setData(0, Qt::UserRole + 1, (int)al); - pin_tli[al]->addChild(ti); - ui->treePins->setCurrentItem(ti); - ui->treePins->blockSignals(false); -} - - -void BlockEditor::on_buttonPinDelete_clicked() { - ui->treePins->blockSignals(true); - QList si = ui->treePins->selectedItems(); - foreach (QTreeWidgetItem * i, si) { - if (!i->parent()) continue; - block.removePin((BlockItemPin*)(i->data(0, Qt::UserRole).toLongLong())); - delete i; - } - ui->treePins->blockSignals(false); -} - - -void BlockEditor::on_buttonPinClear_clicked() { - treePinsClear(); - block.clearPins(); -} - - -void BlockEditor::on_treePins_itemChanged(QTreeWidgetItem * item, int column) { - if (!item) return; - BlockItemPin * pin = (BlockItemPin*)item->data(0, Qt::UserRole).toULongLong(); - if (!pin) return; - switch (column) { - case 0: - ui->treePins->blockSignals(true); - item->setText(0, item->text(0)); - pin->setText(item->text(0)); - ui->treePins->blockSignals(false); - break; - case 1: pin->setBusType(item->text(1).toInt()); break; - }; -} - - - -void BlockEditor::arrangePins() { - QVector pins = block.pins(); -// block.clearPins(); - QList tli = pin_tli.values(); - foreach (QTreeWidgetItem * ti, tli) { - for (int i = 0; i < ti->childCount(); ++i) { - foreach (BlockItemPin * p, pins) - if (p == (BlockItemPin*)(ti->child(i)->data(0, Qt::UserRole).toULongLong())) { - p->setAlignment((Qt::Alignment)ti->data(0, Qt::UserRole).toInt()); - BlockItemPin * np = block.addPin(p, false); - ti->child(i)->setData(0, Qt::UserRole, qulonglong(np)); - ti->child(i)->setData(0, Qt::UserRole + 1, ti->data(0, Qt::UserRole).toInt()); - break; - } - } - } - -// for (int i = 0; i < ui->treePins->topLevelItemCount(); ++i) { -// QTreeWidgetItem * ti = ui->treePins->topLevelItem(i); -// if (tli.contains(ti)) continue; -// ti = ui->treePins->takeTopLevelItem(i); -// pin_tli[ti->data(0, Qt::UserRole + 1).toInt()]->addChild(ti); -// foreach (BlockItemPin * p, pins) -// if (p->text() == ti->text(0)) { -// p->setAlignment((Qt::Alignment)ti->data(0, Qt::UserRole + 1).toInt()); -// block.addPin(p, false); -// break; -// } -// } - block.arrangePins(); -} - - -/// *********************************************************** -/// *********************************************************** -/// *********************************************************** -/// *********************************************************** - - -QWidget * PinAlignDelegate::createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index) const { - QComboBox * combo = new QComboBox(parent); - int cv = index.data().toInt(); - combo->addItem("Left", int(Qt::AlignLeft)); if (cv == Qt::AlignLeft) combo->setCurrentIndex(0); - combo->addItem("Right", int(Qt::AlignRight)); if (cv == Qt::AlignRight) combo->setCurrentIndex(1); - combo->addItem("Top", int(Qt::AlignTop)); if (cv == Qt::AlignTop) combo->setCurrentIndex(2); - combo->addItem("Bottom", int(Qt::AlignBottom)); if (cv == Qt::AlignBottom) combo->setCurrentIndex(3); - combo->setGeometry(option.rect); - return combo; -} - - -QString PinAlignDelegate::displayText(const QVariant & value, const QLocale & locale) const { - int cv = value.toInt(); - switch (cv) { - case Qt::AlignLeft: return tr("Left"); break; - case Qt::AlignRight: return tr("Right"); break; - case Qt::AlignTop: return tr("Top"); break; - case Qt::AlignBottom: return tr("Bottom"); break; - } - return tr("unknown"); -} - - -void PinAlignDelegate::setModelData(QWidget * editor, QAbstractItemModel * model, const QModelIndex & index) const { - model->setData(index, ((QComboBox*)editor)->itemData(((QComboBox*)editor)->currentIndex()).toInt()); -} - - -/// *********************************************************** -/// *********************************************************** -/// *********************************************************** -/// *********************************************************** - - -QWidget * PinBusDelegate::createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index) const { - QSpinBox * spin = new QSpinBox(parent); - spin->setMinimum(-2147483648); - spin->setMaximum(2147483647); - spin->setValue(index.data().toInt()); - return spin; -} - - -QString PinBusDelegate::displayText(const QVariant & value, const QLocale & locale) const { - int cv = value.toInt(); - return QString::number(cv); -} - - -void PinBusDelegate::setModelData(QWidget * editor, QAbstractItemModel * model, const QModelIndex & index) const { - model->setData(index, ((QSpinBox*)editor)->value()); -} - - - -//void BlockEditor::on_treePins_itemSelectionChanged() { -// arrangePins(); -// qDebug() << "111111111111111"; -//} +#include "blockeditor.h" +#include "ui_blockeditor.h" +#include "drawtools.h" +#include "blockview.h" +#include +#include +#include +#include +#include + + +BlockEditor::BlockEditor(QWidget *parent) : QWidget(parent), ui(new Ui::BlockEditor) { + init = false; + m_editorMode = false; + m_pinsEditable = true; + ui->setupUi(this); + src_title = windowTitle(); + connect(ui->blockView->scene(), SIGNAL(selectionChanged()), this, SLOT(selectionChanged())); + block.setFlags(0); + ui->blockView->addItem(&block); + ui->blockView->viewport()->installEventFilter(this); + DrawTools * drawtools = new DrawTools(ui->blockView); + connect(drawtools, SIGNAL(itemCreated(QGraphicsItem*)), this, SLOT(addItem(QGraphicsItem*))); + drawtools->textEditCombo()->addItems(QStringList() << "%name" << "%value" << "%id"); + ui->layoutProperties->addWidget(drawtools->propertyWidget()); + ui->actionRemove_items->setEnabled(false); + ui->button_color->setColor(Qt::lightGray); + ui->treePins->setItemDelegateForColumn(1, new PinBusDelegate()); + connect(ui->treePins, SIGNAL(itemChanged(QTreeWidgetItem*,int)), this, SLOT(updateBlock())); + ui->treePins->viewport()->installEventFilter(this); + + QToolBar * bar; + bar = new QToolBar(ui->widgetBar); + bar->setOrientation(Qt::Vertical); + bar->addActions(drawtools->actionsForAdd()); + ui->widgetBar->setMinimumSize(bar->sizeHint()); + + bar = new QToolBar(ui->widgetBarZ); + bar->setOrientation(Qt::Vertical); + bar->addActions(drawtools->actionsForZ()); + bar->addSeparator(); + bar->addActions(QList() << ui->actionRemove_items); + ui->widgetBarZ->setMinimumSize(bar->sizeHint()); + init = true; + on_buttonClear_clicked(); +} + + +BlockEditor::~BlockEditor() { + init = false; + delete ui; +} + + +void BlockEditor::loadFile(QString path) { + if (path.isEmpty()) return; + QFile f(path); + if (f.open(QIODevice::ReadOnly)) { + cur_file = path; + loadModel(f.readAll()); + QDir::setCurrent(QFileInfo(path).dir().path()); + } + setWindowTitle(src_title + QString(" - %1").arg(QFileInfo(path).baseName())); +} + + +void BlockEditor::loadModel(const QByteArray &model) { + BlockItem b; + b.loadModel(model); + ui->spin_w->setValue(b.width()); + ui->spin_h->setValue(b.height()); + ui->spin_margin->setValue(b.pinsMargin()); + ui->button_color->setColor(b.color()); + block.loadModel(model); + treePinsClear(); + ui->treePins->blockSignals(true); + QVector pins = block.pins(); + foreach (BlockItemPin * p, pins) { + QTreeWidgetItem * ti = new QTreeWidgetItem(QStringList() << p->text() << QString::number(p->busType())); + ti->setData(0, Qt::UserRole, qulonglong(p)); + ti->setData(0, Qt::UserRole + 1, (int)p->alignment()); + ti->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsDragEnabled); + pin_tli[p->alignment()]->addChild(ti); + } + foreach (QGraphicsItem * i, block.decors()) { + i->setData(1002, false); + i->setData(1100, true); + } + ui->treePins->blockSignals(false); +} + + +QByteArray BlockEditor::saveModel() { + return block.saveModel(); +} + + +void BlockEditor::setEditorMode(bool editorMode) { + m_editorMode = editorMode; + ui->buttonClear->setVisible(!editorMode); + ui->buttonSave->setVisible(!editorMode); + ui->buttonSaveAs->setVisible(!editorMode); + ui->buttonLoad->setVisible(!editorMode); +} + + +void BlockEditor::setPinsEditable(bool pinsEditable) { + m_pinsEditable = pinsEditable; + ui->treePins->setVisible(pinsEditable); + ui->buttonPinAdd->setVisible(pinsEditable); + ui->buttonPinClear->setVisible(pinsEditable); + ui->buttonPinDelete->setVisible(pinsEditable); + ui->buttonPinDup->setVisible(pinsEditable); + ui->groupPins->setVisible(pinsEditable); +} + + +void BlockEditor::selectionChanged() { + if (!init) return; + ui->actionRemove_items->setEnabled(!ui->blockView->scene()->selectedItems().isEmpty()); +} + + +void BlockEditor::addItem(QGraphicsItem *item) { + block.addDecor(item); + item->setData(1002, false); + item->setData(1100, true); +} + + +void BlockEditor::updateBlock() { + block.setSize(ui->spin_w->value(), ui->spin_h->value()); + block.setColor(ui->button_color->color()); + block.setPinsMargin(ui->spin_margin->value()); +} + + +void BlockEditor::treePinsClear() { + ui->treePins->blockSignals(true); + ui->treePins->clear(); + QFont bf(font()); bf.setBold(true); + QList al = QList() << Qt::AlignLeft << Qt::AlignRight << Qt::AlignTop << Qt::AlignBottom; + QStringList an = QStringList() << "Left" << "Right" << "Top" << "Bottom"; + pin_tli.clear(); + for (int i = 0; i < al.size(); ++i) { + QTreeWidgetItem * ti = new QTreeWidgetItem(); + ti->setFlags(Qt::ItemIsEnabled | Qt::ItemIsDropEnabled); + ti->setData(0, Qt::UserRole, al[i]); + ti->setText(0, an[i]); + ti->setFont(0, bf); + ui->treePins->addTopLevelItem(ti); + ti->setFirstColumnSpanned(true); + ti->setExpanded(true); + pin_tli[al[i]] = ti; + } + ui->treePins->blockSignals(false); +} + + +bool BlockEditor::eventFilter(QObject *o, QEvent *e) { + if (!init) QWidget::eventFilter(o, e); + if (o == ui->treePins->viewport()) { + if (e->type() == QEvent::Drop) { + QTimer::singleShot(0, this, SLOT(arrangePins())); + } + } + if (o == ui->blockView->viewport()) { + if (e->type() == QEvent::Resize) { + ui->blockView->centerOn(&block); + } + } + return QWidget::eventFilter(o, e); +} + + +void BlockEditor::changeEvent(QEvent * e) { + QWidget::changeEvent(e); + switch (e->type()) { + case QEvent::LanguageChange: + ui->retranslateUi(this); + break; + default: break; + } +} + + +void BlockEditor::on_actionRemove_items_triggered() { + QList si = ui->blockView->scene()->selectedItems(); + foreach (QGraphicsItem * i, si) + block.removeDecor(i); +} + + +void BlockEditor::on_buttonSave_clicked() { + if (cur_file.isEmpty()) { + on_buttonSaveAs_clicked(); + return; + } + QFile f(cur_file); + if (f.open(QIODevice::WriteOnly)) { + f.write(saveModel()); + //setWindowTitle(src_title + QString(" - %1").arg(QFileInfo(c).baseName())); + } +} + + +void BlockEditor::on_buttonSaveAs_clicked() { + QString c = QFileDialog::getSaveFileName(this, "Save block model to file", cur_file, "*.blockmodel"); + if (!c.isEmpty()) { + QFile f(c); + if (f.open(QIODevice::WriteOnly)) { + cur_file = c; + f.write(saveModel()); + setWindowTitle(src_title + QString(" - %1").arg(QFileInfo(c).baseName())); + } + } +} + + +void BlockEditor::on_buttonLoad_clicked() { + QString c = QFileDialog::getOpenFileName(this, "Save block model to file", cur_file, "*.blockmodel"); + loadFile(c); +} + + +void BlockEditor::on_buttonClear_clicked() { + BlockItem b; + ui->spin_w->setValue(b.width()); + ui->spin_h->setValue(b.height()); + ui->spin_margin->setValue(b.pinsMargin()); + ui->button_color->setColor(b.color()); + block.loadModel(QByteArray()); + treePinsClear(); +} + + + +void BlockEditor::on_buttonPinAdd_clicked() { + ui->treePins->blockSignals(true); + QTreeWidgetItem * ti = new QTreeWidgetItem(QStringList() << "" << "0"); + ti->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsDragEnabled); + ti->setData(0, Qt::UserRole, qulonglong(block.addPin(Qt::AlignLeft, ti->text(1).toInt(), ti->text(0)))); + ti->setData(0, Qt::UserRole + 1, (int)Qt::AlignLeft); + pin_tli[Qt::AlignLeft]->addChild(ti); + ui->treePins->setCurrentItem(ti); + ui->treePins->blockSignals(false); + updateBlock(); +} + + +void BlockEditor::on_buttonPinDup_clicked() { + QTreeWidgetItem * ci = ui->treePins->currentItem(); + if (ci == 0) return; + ui->treePins->blockSignals(true); + QTreeWidgetItem * ti = ci->clone(); + ti->setText(0, ti->text(0)); + ti->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsDragEnabled); + Qt::Alignment al = (Qt::Alignment)ci->data(0, Qt::UserRole + 1).toInt(); + ti->setData(0, Qt::UserRole, qulonglong(block.addPin(al, ci->text(1).toInt(), ci->text(0)))); + ti->setData(0, Qt::UserRole + 1, (int)al); + pin_tli[al]->addChild(ti); + ui->treePins->setCurrentItem(ti); + ui->treePins->blockSignals(false); +} + + +void BlockEditor::on_buttonPinDelete_clicked() { + ui->treePins->blockSignals(true); + QList si = ui->treePins->selectedItems(); + foreach (QTreeWidgetItem * i, si) { + if (!i->parent()) continue; + block.removePin((BlockItemPin*)(i->data(0, Qt::UserRole).toLongLong())); + delete i; + } + ui->treePins->blockSignals(false); +} + + +void BlockEditor::on_buttonPinClear_clicked() { + treePinsClear(); + block.clearPins(); +} + + +void BlockEditor::on_treePins_itemChanged(QTreeWidgetItem * item, int column) { + if (!item) return; + BlockItemPin * pin = (BlockItemPin*)item->data(0, Qt::UserRole).toULongLong(); + if (!pin) return; + switch (column) { + case 0: + ui->treePins->blockSignals(true); + item->setText(0, item->text(0)); + pin->setText(item->text(0)); + ui->treePins->blockSignals(false); + break; + case 1: pin->setBusType(item->text(1).toInt()); break; + }; +} + + + +void BlockEditor::arrangePins() { + QVector pins = block.pins(); +// block.clearPins(); + QList tli = pin_tli.values(); + foreach (QTreeWidgetItem * ti, tli) { + for (int i = 0; i < ti->childCount(); ++i) { + foreach (BlockItemPin * p, pins) + if (p == (BlockItemPin*)(ti->child(i)->data(0, Qt::UserRole).toULongLong())) { + p->setAlignment((Qt::Alignment)ti->data(0, Qt::UserRole).toInt()); + BlockItemPin * np = block.addPin(p, false); + ti->child(i)->setData(0, Qt::UserRole, qulonglong(np)); + ti->child(i)->setData(0, Qt::UserRole + 1, ti->data(0, Qt::UserRole).toInt()); + break; + } + } + } + +// for (int i = 0; i < ui->treePins->topLevelItemCount(); ++i) { +// QTreeWidgetItem * ti = ui->treePins->topLevelItem(i); +// if (tli.contains(ti)) continue; +// ti = ui->treePins->takeTopLevelItem(i); +// pin_tli[ti->data(0, Qt::UserRole + 1).toInt()]->addChild(ti); +// foreach (BlockItemPin * p, pins) +// if (p->text() == ti->text(0)) { +// p->setAlignment((Qt::Alignment)ti->data(0, Qt::UserRole + 1).toInt()); +// block.addPin(p, false); +// break; +// } +// } + block.arrangePins(); +} + + +/// *********************************************************** +/// *********************************************************** +/// *********************************************************** +/// *********************************************************** + + +QWidget * PinAlignDelegate::createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index) const { + QComboBox * combo = new QComboBox(parent); + int cv = index.data().toInt(); + combo->addItem("Left", int(Qt::AlignLeft)); if (cv == Qt::AlignLeft) combo->setCurrentIndex(0); + combo->addItem("Right", int(Qt::AlignRight)); if (cv == Qt::AlignRight) combo->setCurrentIndex(1); + combo->addItem("Top", int(Qt::AlignTop)); if (cv == Qt::AlignTop) combo->setCurrentIndex(2); + combo->addItem("Bottom", int(Qt::AlignBottom)); if (cv == Qt::AlignBottom) combo->setCurrentIndex(3); + combo->setGeometry(option.rect); + return combo; +} + + +QString PinAlignDelegate::displayText(const QVariant & value, const QLocale & locale) const { + int cv = value.toInt(); + switch (cv) { + case Qt::AlignLeft: return tr("Left"); break; + case Qt::AlignRight: return tr("Right"); break; + case Qt::AlignTop: return tr("Top"); break; + case Qt::AlignBottom: return tr("Bottom"); break; + } + return tr("unknown"); +} + + +void PinAlignDelegate::setModelData(QWidget * editor, QAbstractItemModel * model, const QModelIndex & index) const { + model->setData(index, ((QComboBox*)editor)->itemData(((QComboBox*)editor)->currentIndex()).toInt()); +} + + +/// *********************************************************** +/// *********************************************************** +/// *********************************************************** +/// *********************************************************** + + +QWidget * PinBusDelegate::createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index) const { + QSpinBox * spin = new QSpinBox(parent); + spin->setMinimum(-2147483648); + spin->setMaximum(2147483647); + spin->setValue(index.data().toInt()); + return spin; +} + + +QString PinBusDelegate::displayText(const QVariant & value, const QLocale & locale) const { + int cv = value.toInt(); + return QString::number(cv); +} + + +void PinBusDelegate::setModelData(QWidget * editor, QAbstractItemModel * model, const QModelIndex & index) const { + model->setData(index, ((QSpinBox*)editor)->value()); +} + + + +//void BlockEditor::on_treePins_itemSelectionChanged() { +// arrangePins(); +// qDebug() << "111111111111111"; +//} diff --git a/qad/blockview/blockeditor.h b/qad/libs/blockview/blockeditor.h similarity index 96% rename from qad/blockview/blockeditor.h rename to qad/libs/blockview/blockeditor.h index 5342bcb..5957102 100644 --- a/qad/blockview/blockeditor.h +++ b/qad/libs/blockview/blockeditor.h @@ -1,111 +1,111 @@ -/* - QAD - Qt ADvanced - - Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . -*/ - -#ifndef BLOCKEDITOR_H -#define BLOCKEDITOR_H - -#include -#include -#include -#include "blockitem.h" - - -namespace Ui { - class BlockEditor; -} - - -class QAD_EXPORT BlockEditor : public QWidget -{ - Q_OBJECT - Q_PROPERTY(bool editorMode READ editorMode WRITE setEditorMode) - Q_PROPERTY(bool pinsEditable READ pinsEditable WRITE setPinsEditable) -public: - explicit BlockEditor(QWidget *parent = 0); - ~BlockEditor(); - - - bool editorMode() const {return m_editorMode;} - bool pinsEditable() const {return m_pinsEditable;} - -public slots: - void loadFile(QString path); - void loadModel(const QByteArray & model); - QByteArray saveModel(); - void setEditorMode(bool editorMode); - void setPinsEditable(bool pinsEditable); - -private slots: - void selectionChanged(); - void addItem(QGraphicsItem * item); - void updateBlock(); - void treePinsClear(); - void arrangePins(); - void on_actionRemove_items_triggered(); - void on_buttonSave_clicked(); - void on_buttonSaveAs_clicked(); - void on_buttonLoad_clicked(); - void on_buttonClear_clicked(); - void on_buttonPinAdd_clicked(); - void on_buttonPinDup_clicked(); - void on_buttonPinDelete_clicked(); - void on_buttonPinClear_clicked(); - void on_treePins_itemChanged(QTreeWidgetItem *item, int column); -// void on_treePins_itemSelectionChanged(); - -private: - bool eventFilter(QObject * o, QEvent * e); - void changeEvent(QEvent * e); - - Ui::BlockEditor *ui; - QMap pin_tli; - BlockItem block; - QString src_title, cur_file; - bool init; - bool m_editorMode; - bool m_pinsEditable; -}; - - - -class QAD_EXPORT PinAlignDelegate: public QStyledItemDelegate { - Q_OBJECT -public: - PinAlignDelegate(QObject * parent = 0): QStyledItemDelegate(parent) {} - QWidget * createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index) const; - QString displayText(const QVariant & value, const QLocale & locale) const; - void setModelData(QWidget * editor, QAbstractItemModel * model, const QModelIndex & index) const; - QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const {return QSize(60, 26);} -}; - - -class QAD_EXPORT PinBusDelegate: public QStyledItemDelegate { - Q_OBJECT -public: - PinBusDelegate(QObject * parent = 0): QStyledItemDelegate(parent) {} - QWidget * createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index) const; - QString displayText(const QVariant & value, const QLocale & locale) const; - void setModelData(QWidget * editor, QAbstractItemModel * model, const QModelIndex & index) const; - QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const {return QSize(60, 26);} -private: - typedef QPair ISPair; - QVector buses; -}; - -#endif // BLOCKEDITOR_H +/* + QAD - Qt ADvanced + + Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ + +#ifndef BLOCKEDITOR_H +#define BLOCKEDITOR_H + +#include +#include +#include +#include "blockitem.h" + + +namespace Ui { + class BlockEditor; +} + + +class QAD_EXPORT BlockEditor : public QWidget +{ + Q_OBJECT + Q_PROPERTY(bool editorMode READ editorMode WRITE setEditorMode) + Q_PROPERTY(bool pinsEditable READ pinsEditable WRITE setPinsEditable) +public: + explicit BlockEditor(QWidget *parent = 0); + ~BlockEditor(); + + + bool editorMode() const {return m_editorMode;} + bool pinsEditable() const {return m_pinsEditable;} + +public slots: + void loadFile(QString path); + void loadModel(const QByteArray & model); + QByteArray saveModel(); + void setEditorMode(bool editorMode); + void setPinsEditable(bool pinsEditable); + +private slots: + void selectionChanged(); + void addItem(QGraphicsItem * item); + void updateBlock(); + void treePinsClear(); + void arrangePins(); + void on_actionRemove_items_triggered(); + void on_buttonSave_clicked(); + void on_buttonSaveAs_clicked(); + void on_buttonLoad_clicked(); + void on_buttonClear_clicked(); + void on_buttonPinAdd_clicked(); + void on_buttonPinDup_clicked(); + void on_buttonPinDelete_clicked(); + void on_buttonPinClear_clicked(); + void on_treePins_itemChanged(QTreeWidgetItem *item, int column); +// void on_treePins_itemSelectionChanged(); + +private: + bool eventFilter(QObject * o, QEvent * e); + void changeEvent(QEvent * e); + + Ui::BlockEditor *ui; + QMap pin_tli; + BlockItem block; + QString src_title, cur_file; + bool init; + bool m_editorMode; + bool m_pinsEditable; +}; + + + +class QAD_EXPORT PinAlignDelegate: public QStyledItemDelegate { + Q_OBJECT +public: + PinAlignDelegate(QObject * parent = 0): QStyledItemDelegate(parent) {} + QWidget * createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index) const; + QString displayText(const QVariant & value, const QLocale & locale) const; + void setModelData(QWidget * editor, QAbstractItemModel * model, const QModelIndex & index) const; + QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const {return QSize(60, 26);} +}; + + +class QAD_EXPORT PinBusDelegate: public QStyledItemDelegate { + Q_OBJECT +public: + PinBusDelegate(QObject * parent = 0): QStyledItemDelegate(parent) {} + QWidget * createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index) const; + QString displayText(const QVariant & value, const QLocale & locale) const; + void setModelData(QWidget * editor, QAbstractItemModel * model, const QModelIndex & index) const; + QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const {return QSize(60, 26);} +private: + typedef QPair ISPair; + QVector buses; +}; + +#endif // BLOCKEDITOR_H diff --git a/qad/blockview/blockeditor.ui b/qad/libs/blockview/blockeditor.ui similarity index 96% rename from qad/blockview/blockeditor.ui rename to qad/libs/blockview/blockeditor.ui index 6ff5ad3..81e4169 100644 --- a/qad/blockview/blockeditor.ui +++ b/qad/libs/blockview/blockeditor.ui @@ -1,543 +1,543 @@ - - - BlockEditor - - - - 0 - 0 - 847 - 810 - - - - Block editor - - - - :/icons/blockview.png:/icons/blockview.png - - - - - - Qt::Vertical - - - - Qt::Horizontal - - - - Block parameters - - - Qt::AlignCenter - - - - QFormLayout::AllNonFixedFieldsGrow - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 4 - - - 4 - - - 4 - - - 4 - - - - - Width: - - - - - - - 1000 - - - 20 - - - 100 - - - - - - - Heigth: - - - - - - - 1000 - - - 20 - - - 60 - - - - - - - Pins margin: - - - - - - - 100 - - - 10 - - - 10 - - - - - - - Color: - - - - - - - - - - - Pins - - - Qt::AlignCenter - - - - 2 - - - 2 - - - 2 - - - 2 - - - - - - 0 - 200 - - - - QAbstractItemView::InternalMove - - - Qt::MoveAction - - - QAbstractItemView::ExtendedSelection - - - QAbstractItemView::ScrollPerPixel - - - false - - - false - - - 200 - - - - Name - - - - - Bus - - - - - - - - - - Add - - - - :/icons/list-add.png:/icons/list-add.png - - - - - - - Clone - - - - :/icons/edit-copy.png:/icons/edit-copy.png - - - - - - - Qt::Vertical - - - QSizePolicy::Preferred - - - - 20 - 20 - - - - - - - - Remove selected - - - - :/icons/edit-delete.png:/icons/edit-delete.png - - - - - - - Remove all - - - - :/icons/edit-clear.png:/icons/edit-clear.png - - - - - - - Qt::Vertical - - - - 20 - 1 - - - - - - - - - - - - - 0 - - - - - - 0 - 0 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 2 - - - 2 - - - 2 - - - 2 - - - - - - - - - - - - - - - - - - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - true - - - false - - - true - - - - - - - - - - - - - - - Save - - - - :/icons/document-save.png:/icons/document-save.png - - - Ctrl+S - - - - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 10 - 20 - - - - - - - - Save as ... - - - - :/icons/document-save.png:/icons/document-save.png - - - Ctrl+S - - - - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 20 - 20 - - - - - - - - Load ... - - - - :/icons/document-open.png:/icons/document-open.png - - - Ctrl+O - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Clear - - - - :/icons/edit-clear.png:/icons/edit-clear.png - - - - - - - - - - :/icons/edit-delete.png:/icons/edit-delete.png - - - Remove items - - - Del - - - - - - BlockView - QGraphicsView -
blockview.h
-
- - ColorButton - QPushButton -
colorbutton.h
-
-
- - - - - - - - spin_w - valueChanged(int) - BlockEditor - updateBlock() - - - 170 - 21 - - - 254 - 1 - - - - - spin_h - valueChanged(int) - BlockEditor - updateBlock() - - - 250 - 49 - - - 373 - 5 - - - - - spin_margin - valueChanged(int) - BlockEditor - updateBlock() - - - 350 - 90 - - - 492 - 8 - - - - - button_color - colorChanged(QColor) - BlockEditor - updateBlock() - - - 561 - 115 - - - 613 - 6 - - - - - - updateBlock() - -
+ + + BlockEditor + + + + 0 + 0 + 847 + 810 + + + + Block editor + + + + :/icons/blockview.png:/icons/blockview.png + + + + + + Qt::Vertical + + + + Qt::Horizontal + + + + Block parameters + + + Qt::AlignCenter + + + + QFormLayout::AllNonFixedFieldsGrow + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4 + + + 4 + + + 4 + + + 4 + + + + + Width: + + + + + + + 1000 + + + 20 + + + 100 + + + + + + + Heigth: + + + + + + + 1000 + + + 20 + + + 60 + + + + + + + Pins margin: + + + + + + + 100 + + + 10 + + + 10 + + + + + + + Color: + + + + + + + + + + + Pins + + + Qt::AlignCenter + + + + 2 + + + 2 + + + 2 + + + 2 + + + + + + 0 + 200 + + + + QAbstractItemView::InternalMove + + + Qt::MoveAction + + + QAbstractItemView::ExtendedSelection + + + QAbstractItemView::ScrollPerPixel + + + false + + + false + + + 200 + + + + Name + + + + + Bus + + + + + + + + + + Add + + + + :/icons/list-add.png:/icons/list-add.png + + + + + + + Clone + + + + :/icons/edit-copy.png:/icons/edit-copy.png + + + + + + + Qt::Vertical + + + QSizePolicy::Preferred + + + + 20 + 20 + + + + + + + + Remove selected + + + + :/icons/edit-delete.png:/icons/edit-delete.png + + + + + + + Remove all + + + + :/icons/edit-clear.png:/icons/edit-clear.png + + + + + + + Qt::Vertical + + + + 20 + 1 + + + + + + + + + + + + + 0 + + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 2 + + + 2 + + + 2 + + + 2 + + + + + + + + + + + + + + + + + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + true + + + false + + + true + + + + + + + + + + + + + + + Save + + + + :/icons/document-save.png:/icons/document-save.png + + + Ctrl+S + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 10 + 20 + + + + + + + + Save as ... + + + + :/icons/document-save.png:/icons/document-save.png + + + Ctrl+S + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 20 + 20 + + + + + + + + Load ... + + + + :/icons/document-open.png:/icons/document-open.png + + + Ctrl+O + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Clear + + + + :/icons/edit-clear.png:/icons/edit-clear.png + + + + + + + + + + :/icons/edit-delete.png:/icons/edit-delete.png + + + Remove items + + + Del + + + + + + BlockView + QGraphicsView +
blockview.h
+
+ + ColorButton + QPushButton +
colorbutton.h
+
+
+ + + + + + + + spin_w + valueChanged(int) + BlockEditor + updateBlock() + + + 170 + 21 + + + 254 + 1 + + + + + spin_h + valueChanged(int) + BlockEditor + updateBlock() + + + 250 + 49 + + + 373 + 5 + + + + + spin_margin + valueChanged(int) + BlockEditor + updateBlock() + + + 350 + 90 + + + 492 + 8 + + + + + button_color + colorChanged(QColor) + BlockEditor + updateBlock() + + + 561 + 115 + + + 613 + 6 + + + + + + updateBlock() + +
diff --git a/qad/blockview/blockitem.cpp b/qad/libs/blockview/blockitem.cpp similarity index 100% rename from qad/blockview/blockitem.cpp rename to qad/libs/blockview/blockitem.cpp diff --git a/qad/blockview/blockitem.h b/qad/libs/blockview/blockitem.h similarity index 100% rename from qad/blockview/blockitem.h rename to qad/libs/blockview/blockitem.h diff --git a/qad/blockview/blockitempin.cpp b/qad/libs/blockview/blockitempin.cpp similarity index 96% rename from qad/blockview/blockitempin.cpp rename to qad/libs/blockview/blockitempin.cpp index fe0e2f8..40c4320 100644 --- a/qad/blockview/blockitempin.cpp +++ b/qad/libs/blockview/blockitempin.cpp @@ -1,163 +1,163 @@ -#include "blockview.h" -#include - - -BlockItemPin::BlockItemPin(Qt::Alignment a, int bus_type_, const QString & text_, QGraphicsObject * _parent): QGraphicsObject(_parent), ell_item(this), text_item(this) { - parent_ = 0; - setData(1004, "pin"); - setAcceptHoverEvents(true); - text_item.setData(1002, true); - ell_item.setData(1003, true); - br[Disconnected] = QBrush(Qt::lightGray); - br[Connected] = QBrush(Qt::darkGreen); - br[Hover] = QBrush(Qt::blue); - br[Drop] = QBrush(Qt::green); - br[Accept] = QBrush(Qt::green); - br[Reject] = QBrush(Qt::red); - anim_pin_size.setTargetObject(this); - anim_pin_size.setPropertyName("pinSize"); - anim_pin_size.setEasingCurve(QEasingCurve::OutElastic); - anim_pin_size.setDuration(700); - anim_accept.setTargetObject(this); - anim_accept.setPropertyName("pinSize"); - anim_accept.setEasingCurve(QEasingCurve::InOutQuad); - anim_accept.setDuration(150); - connect(&anim_accept, SIGNAL(finished()), this, SLOT(animationAccept())); - setState(Disconnected); - setAlignment(a); - setBusType(bus_type_); - setText(text_); - setZValue(2.); - setDirection(BlockItemPin::InputOutput); - _reparent(); -} - - -void BlockItemPin::animAccept() { - if (!((BlockView *)scene()->views().back())->isBlockAnimationEnabled() && anim_accept.state() != QAbstractAnimation::Running) return; - anim_accept.setStartValue(pinSize()); - anim_accept.setEndValue(10.); - anim_accept.start(); -} - - -void BlockItemPin::setState(State s) { - State os = state_; - state_ = s; - setBrush(br[int(state_)]); - if (s == Accept && os != Accept) { - animAccept(); - } - update(); -} - - -void BlockItemPin::enlargePin(bool enlarge) { - double sz = enlarge ? 12. : 7; - if (anim_accept.state() == QAbstractAnimation::Running && enlarge) { - anim_accept.stop(); - resizePin(sz); - } - if (!((BlockView *)scene()->views().back())->isBlockAnimationEnabled()) { - resizePin(sz); - return; - } - if (sz == anim_pin_size.endValue()) - return; - anim_pin_size.stop(); - anim_pin_size.setStartValue(pinSize()); - anim_pin_size.setEndValue(sz); - anim_pin_size.start(); -} - - -void BlockItemPin::resizePin(double r) { - ell_item.setRect(-r, -r, r+r, r+r); -} - - -double BlockItemPin::pinSize() const { - return ell_item.rect().width() / 2.; -} - - -void BlockItemPin::animationAccept() { - if (anim_accept.endValue().toDouble() == 7.) return; - anim_accept.setStartValue(pinSize()); - anim_accept.setEndValue(7.); - anim_accept.start(); -} - - -void BlockItemPin::_init(bool affect_parent) { - text_item.setFont(AlignedTextItem::sceneFont(QApplication::font())); - QRectF tbr = text_item.boundingRect(); - const double r = 7.; - ell_item.setRect(-r, -r, r+r, r+r); - ell_item.setSpanAngle(16*180); - text_item.resetTransform(); - text_item.setPos(0, -tbr.height() / 2.); - text_item.setTransformOriginPoint(0, tbr.height() / 2.); - switch (align) { - case Qt::AlignBottom: ell_item.setStartAngle(16*0); text_item.setRotation(-90.); text_item.moveBy(0, -r * 1.5); break; - case Qt::AlignRight: ell_item.setStartAngle(16*90); text_item.setRotation(0.); text_item.moveBy(-tbr.width() - r * 1.5, 0); break; - case Qt::AlignTop: ell_item.setStartAngle(16*180); text_item.setRotation(-90.); text_item.moveBy(0, tbr.width() + r * 1.5); break; - case Qt::AlignLeft: ell_item.setStartAngle(16*270); text_item.setRotation(0.); text_item.moveBy(r * 1.5, 0); break; - default: break; - } - if (affect_parent && parent_) - parent_->arrangePins(); -} - - -void BlockItemPin::_reparent() { - if (parentItem() == 0) return; - if (qgraphicsitem_cast(parentItem()) == 0) return; - QPen p = qgraphicsitem_cast(parentItem())->g_main.pen(); - ell_item.setPen(p); - if (scene()) { - text_item.setFont(AlignedTextItem::sceneFont(scene()->font())); - QRectF tbr = text_item.boundingRect(); - text_item.resetTransform(); - text_item.setPos(0, -tbr.height() / 2.); - text_item.setTransformOriginPoint(0, tbr.height() / 2.); - } -} - - -QGraphicsView * BlockItemPin::_view() const { - if (!scene()) return 0; - if (scene()->views().isEmpty()) return 0; - return scene()->views().back(); -} - - -QVariant BlockItemPin::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant & value) { - if (change == QGraphicsItem::ItemParentChange) - _reparent(); - return QGraphicsItem::itemChange(change, value); -} - - -void BlockItemPin::hoverEnterEvent(QGraphicsSceneHoverEvent * e) { - QGraphicsView * v = _view(); - bool m_pin_mc = false; - if (v) { - QMetaObject::invokeMethod(v, "getPinMC", Q_ARG(bool*, &m_pin_mc)); - QMetaObject::invokeMethod(v, "pinHoverInOut", Qt::QueuedConnection, Q_ARG(BlockItemPin*, this)); - } - if ((state() != Disconnected) && !m_pin_mc) return; - saveState(); - setState(BlockItemPin::Hover); - enlargePin(true); - update(); -} - - -void BlockItemPin::hoverLeaveEvent(QGraphicsSceneHoverEvent * e) { - QGraphicsView * v = _view(); - restoreState(); - enlargePin(false); - update(); - if (v) QMetaObject::invokeMethod(v, "pinHoverInOut", Q_ARG(BlockItemPin*, 0)); -} +#include "blockview.h" +#include + + +BlockItemPin::BlockItemPin(Qt::Alignment a, int bus_type_, const QString & text_, QGraphicsObject * _parent): QGraphicsObject(_parent), ell_item(this), text_item(this) { + parent_ = 0; + setData(1004, "pin"); + setAcceptHoverEvents(true); + text_item.setData(1002, true); + ell_item.setData(1003, true); + br[Disconnected] = QBrush(Qt::lightGray); + br[Connected] = QBrush(Qt::darkGreen); + br[Hover] = QBrush(Qt::blue); + br[Drop] = QBrush(Qt::green); + br[Accept] = QBrush(Qt::green); + br[Reject] = QBrush(Qt::red); + anim_pin_size.setTargetObject(this); + anim_pin_size.setPropertyName("pinSize"); + anim_pin_size.setEasingCurve(QEasingCurve::OutElastic); + anim_pin_size.setDuration(700); + anim_accept.setTargetObject(this); + anim_accept.setPropertyName("pinSize"); + anim_accept.setEasingCurve(QEasingCurve::InOutQuad); + anim_accept.setDuration(150); + connect(&anim_accept, SIGNAL(finished()), this, SLOT(animationAccept())); + setState(Disconnected); + setAlignment(a); + setBusType(bus_type_); + setText(text_); + setZValue(2.); + setDirection(BlockItemPin::InputOutput); + _reparent(); +} + + +void BlockItemPin::animAccept() { + if (!((BlockView *)scene()->views().back())->isBlockAnimationEnabled() && anim_accept.state() != QAbstractAnimation::Running) return; + anim_accept.setStartValue(pinSize()); + anim_accept.setEndValue(10.); + anim_accept.start(); +} + + +void BlockItemPin::setState(State s) { + State os = state_; + state_ = s; + setBrush(br[int(state_)]); + if (s == Accept && os != Accept) { + animAccept(); + } + update(); +} + + +void BlockItemPin::enlargePin(bool enlarge) { + double sz = enlarge ? 12. : 7; + if (anim_accept.state() == QAbstractAnimation::Running && enlarge) { + anim_accept.stop(); + resizePin(sz); + } + if (!((BlockView *)scene()->views().back())->isBlockAnimationEnabled()) { + resizePin(sz); + return; + } + if (sz == anim_pin_size.endValue()) + return; + anim_pin_size.stop(); + anim_pin_size.setStartValue(pinSize()); + anim_pin_size.setEndValue(sz); + anim_pin_size.start(); +} + + +void BlockItemPin::resizePin(double r) { + ell_item.setRect(-r, -r, r+r, r+r); +} + + +double BlockItemPin::pinSize() const { + return ell_item.rect().width() / 2.; +} + + +void BlockItemPin::animationAccept() { + if (anim_accept.endValue().toDouble() == 7.) return; + anim_accept.setStartValue(pinSize()); + anim_accept.setEndValue(7.); + anim_accept.start(); +} + + +void BlockItemPin::_init(bool affect_parent) { + text_item.setFont(AlignedTextItem::sceneFont(QApplication::font())); + QRectF tbr = text_item.boundingRect(); + const double r = 7.; + ell_item.setRect(-r, -r, r+r, r+r); + ell_item.setSpanAngle(16*180); + text_item.resetTransform(); + text_item.setPos(0, -tbr.height() / 2.); + text_item.setTransformOriginPoint(0, tbr.height() / 2.); + switch (align) { + case Qt::AlignBottom: ell_item.setStartAngle(16*0); text_item.setRotation(-90.); text_item.moveBy(0, -r * 1.5); break; + case Qt::AlignRight: ell_item.setStartAngle(16*90); text_item.setRotation(0.); text_item.moveBy(-tbr.width() - r * 1.5, 0); break; + case Qt::AlignTop: ell_item.setStartAngle(16*180); text_item.setRotation(-90.); text_item.moveBy(0, tbr.width() + r * 1.5); break; + case Qt::AlignLeft: ell_item.setStartAngle(16*270); text_item.setRotation(0.); text_item.moveBy(r * 1.5, 0); break; + default: break; + } + if (affect_parent && parent_) + parent_->arrangePins(); +} + + +void BlockItemPin::_reparent() { + if (parentItem() == 0) return; + if (qgraphicsitem_cast(parentItem()) == 0) return; + QPen p = qgraphicsitem_cast(parentItem())->g_main.pen(); + ell_item.setPen(p); + if (scene()) { + text_item.setFont(AlignedTextItem::sceneFont(scene()->font())); + QRectF tbr = text_item.boundingRect(); + text_item.resetTransform(); + text_item.setPos(0, -tbr.height() / 2.); + text_item.setTransformOriginPoint(0, tbr.height() / 2.); + } +} + + +QGraphicsView * BlockItemPin::_view() const { + if (!scene()) return 0; + if (scene()->views().isEmpty()) return 0; + return scene()->views().back(); +} + + +QVariant BlockItemPin::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant & value) { + if (change == QGraphicsItem::ItemParentChange) + _reparent(); + return QGraphicsItem::itemChange(change, value); +} + + +void BlockItemPin::hoverEnterEvent(QGraphicsSceneHoverEvent * e) { + QGraphicsView * v = _view(); + bool m_pin_mc = false; + if (v) { + QMetaObject::invokeMethod(v, "getPinMC", Q_ARG(bool*, &m_pin_mc)); + QMetaObject::invokeMethod(v, "pinHoverInOut", Qt::QueuedConnection, Q_ARG(BlockItemPin*, this)); + } + if ((state() != Disconnected) && !m_pin_mc) return; + saveState(); + setState(BlockItemPin::Hover); + enlargePin(true); + update(); +} + + +void BlockItemPin::hoverLeaveEvent(QGraphicsSceneHoverEvent * e) { + QGraphicsView * v = _view(); + restoreState(); + enlargePin(false); + update(); + if (v) QMetaObject::invokeMethod(v, "pinHoverInOut", Q_ARG(BlockItemPin*, 0)); +} diff --git a/qad/blockview/blockitempin.h b/qad/libs/blockview/blockitempin.h similarity index 96% rename from qad/blockview/blockitempin.h rename to qad/libs/blockview/blockitempin.h index b9ebc26..29e99d9 100644 --- a/qad/blockview/blockitempin.h +++ b/qad/libs/blockview/blockitempin.h @@ -1,131 +1,131 @@ -/* - QAD - Qt ADvanced - - Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . -*/ - -#ifndef BLOCKITEMPIN_H -#define BLOCKITEMPIN_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "blockbase.h" -#include "alignedtextitem.h" - - -class BlockItem; -class BlockBusItem; - - -class QAD_EXPORT BlockItemPin: public QGraphicsObject, public PropertyStorage -{ - friend class BlockView; - friend class BlockItem; - Q_OBJECT - Q_PROPERTY(double pinSize READ pinSize WRITE resizePin DESIGNABLE false SCRIPTABLE false) -public: - BlockItemPin(Qt::Alignment a = Qt::AlignLeft, int bus_type = 0, const QString & text_ = QString(), QGraphicsObject * parent_ = 0); - - enum State { - Disconnected, - Connected, - Hover, - Drop, - Accept, - Reject - }; - - enum Direction { - None = 0x0, - Input = 0x1, - Output = 0x2, - InputOutput = 0x3 - }; - - void setPen(const QPen & p) {ell_item.setPen(p);} - QPen pen() const {return ell_item.pen();} - void setBrush(const QBrush & b) {ell_item.setBrush(b);} - QBrush brush() const {return ell_item.brush();} - - int busType() const {return bus_type;} - Qt::Alignment alignment() const {return align;} - Direction direction() const {return dir;} - QString text() const {return text_item.text();} - State state() const {return state_;} - - void setBusType(int type_) {bus_type = type_;} - void setAlignment(Qt::Alignment a) {align = a; _init(true);} - void setDirection(Direction d) {dir = d; _init(true);} - void setText(const QString & t) {text_item.setText(t); _init(true);} - void setState(State s); - - void saveState() {sstate_.push(state_);} - bool restoreState() {if (sstate_.isEmpty()) return false; setState(sstate_.pop()); return true;} - void clearStateStack() {sstate_.clear();} - - void enlargePin(bool enlarge); - - BlockItem * parent() const {return parent_;} - QList connectedBuses() const {return buses_;} - - enum {Type = UserType + 3}; - -public slots: - void animAccept(); - -protected: - void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0) {} - QRectF boundingRect() const {return ell_item.boundingRect().translated(ell_item.pos()) | text_item.boundingRect().translated(text_item.pos());} - int type() const {return Type;} - QVariant itemChange(GraphicsItemChange change, const QVariant & value); - void hoverEnterEvent(QGraphicsSceneHoverEvent * e); - void hoverLeaveEvent(QGraphicsSceneHoverEvent * e); - void _init(bool affect_parent = false); - void _reparent(); - QGraphicsView * _view() const; - int bus_type; - State state_; - QGraphicsEllipseItem ell_item; - QGraphicsSimpleTextItem text_item; - QStack sstate_; - QList buses_; - BlockItem * parent_; - Qt::Alignment align; - Direction dir; - QBrush br[6]; - -private slots: - void animationAccept(); - -private: - void resizePin(double r); - double pinSize() const; - - QPropertyAnimation anim_pin_size; - QPropertyAnimation anim_accept; - -}; - - -#endif // BLOCKITEMPIN_H +/* + QAD - Qt ADvanced + + Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ + +#ifndef BLOCKITEMPIN_H +#define BLOCKITEMPIN_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "blockbase.h" +#include "alignedtextitem.h" + + +class BlockItem; +class BlockBusItem; + + +class QAD_EXPORT BlockItemPin: public QGraphicsObject, public PropertyStorage +{ + friend class BlockView; + friend class BlockItem; + Q_OBJECT + Q_PROPERTY(double pinSize READ pinSize WRITE resizePin DESIGNABLE false SCRIPTABLE false) +public: + BlockItemPin(Qt::Alignment a = Qt::AlignLeft, int bus_type = 0, const QString & text_ = QString(), QGraphicsObject * parent_ = 0); + + enum State { + Disconnected, + Connected, + Hover, + Drop, + Accept, + Reject + }; + + enum Direction { + None = 0x0, + Input = 0x1, + Output = 0x2, + InputOutput = 0x3 + }; + + void setPen(const QPen & p) {ell_item.setPen(p);} + QPen pen() const {return ell_item.pen();} + void setBrush(const QBrush & b) {ell_item.setBrush(b);} + QBrush brush() const {return ell_item.brush();} + + int busType() const {return bus_type;} + Qt::Alignment alignment() const {return align;} + Direction direction() const {return dir;} + QString text() const {return text_item.text();} + State state() const {return state_;} + + void setBusType(int type_) {bus_type = type_;} + void setAlignment(Qt::Alignment a) {align = a; _init(true);} + void setDirection(Direction d) {dir = d; _init(true);} + void setText(const QString & t) {text_item.setText(t); _init(true);} + void setState(State s); + + void saveState() {sstate_.push(state_);} + bool restoreState() {if (sstate_.isEmpty()) return false; setState(sstate_.pop()); return true;} + void clearStateStack() {sstate_.clear();} + + void enlargePin(bool enlarge); + + BlockItem * parent() const {return parent_;} + QList connectedBuses() const {return buses_;} + + enum {Type = UserType + 3}; + +public slots: + void animAccept(); + +protected: + void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0) {} + QRectF boundingRect() const {return ell_item.boundingRect().translated(ell_item.pos()) | text_item.boundingRect().translated(text_item.pos());} + int type() const {return Type;} + QVariant itemChange(GraphicsItemChange change, const QVariant & value); + void hoverEnterEvent(QGraphicsSceneHoverEvent * e); + void hoverLeaveEvent(QGraphicsSceneHoverEvent * e); + void _init(bool affect_parent = false); + void _reparent(); + QGraphicsView * _view() const; + int bus_type; + State state_; + QGraphicsEllipseItem ell_item; + QGraphicsSimpleTextItem text_item; + QStack sstate_; + QList buses_; + BlockItem * parent_; + Qt::Alignment align; + Direction dir; + QBrush br[6]; + +private slots: + void animationAccept(); + +private: + void resizePin(double r); + double pinSize() const; + + QPropertyAnimation anim_pin_size; + QPropertyAnimation anim_accept; + +}; + + +#endif // BLOCKITEMPIN_H diff --git a/qad/blockview/blockview.cpp b/qad/libs/blockview/blockview.cpp similarity index 100% rename from qad/blockview/blockview.cpp rename to qad/libs/blockview/blockview.cpp diff --git a/qad/blockview/blockview.h b/qad/libs/blockview/blockview.h similarity index 100% rename from qad/blockview/blockview.h rename to qad/libs/blockview/blockview.h diff --git a/qad/blockview/blockviewwavetrace.cpp b/qad/libs/blockview/blockviewwavetrace.cpp similarity index 100% rename from qad/blockview/blockviewwavetrace.cpp rename to qad/libs/blockview/blockviewwavetrace.cpp diff --git a/qad/blockview/blockviewwavetrace.h b/qad/libs/blockview/blockviewwavetrace.h similarity index 100% rename from qad/blockview/blockviewwavetrace.h rename to qad/libs/blockview/blockviewwavetrace.h diff --git a/qad/blockview/drawtools.cpp b/qad/libs/blockview/drawtools.cpp similarity index 100% rename from qad/blockview/drawtools.cpp rename to qad/libs/blockview/drawtools.cpp diff --git a/qad/blockview/drawtools.h b/qad/libs/blockview/drawtools.h similarity index 100% rename from qad/blockview/drawtools.h rename to qad/libs/blockview/drawtools.h diff --git a/qad/blockview/drawtools.ui b/qad/libs/blockview/drawtools.ui similarity index 100% rename from qad/blockview/drawtools.ui rename to qad/libs/blockview/drawtools.ui diff --git a/qad/blockview/lang/qad_blockview_en.ts b/qad/libs/blockview/lang/qad_blockview_en.ts similarity index 100% rename from qad/blockview/lang/qad_blockview_en.ts rename to qad/libs/blockview/lang/qad_blockview_en.ts diff --git a/qad/blockview/lang/qad_blockview_ru.ts b/qad/libs/blockview/lang/qad_blockview_ru.ts similarity index 100% rename from qad/blockview/lang/qad_blockview_ru.ts rename to qad/libs/blockview/lang/qad_blockview_ru.ts diff --git a/qad/blockview/lang/update.bat b/qad/libs/blockview/lang/update.bat similarity index 100% rename from qad/blockview/lang/update.bat rename to qad/libs/blockview/lang/update.bat diff --git a/qad/blockview/plugin/CMakeLists.txt b/qad/libs/blockview/plugin/CMakeLists.txt similarity index 97% rename from qad/blockview/plugin/CMakeLists.txt rename to qad/libs/blockview/plugin/CMakeLists.txt index fce055f..20a4b84 100644 --- a/qad/blockview/plugin/CMakeLists.txt +++ b/qad/libs/blockview/plugin/CMakeLists.txt @@ -1 +1 @@ -qad_plugin(blockview "Gui;Widgets" "") +qad_plugin(blockview "Gui;Widgets" "") diff --git a/qad/blockview/plugin/blockviewplugin.cpp b/qad/libs/blockview/plugin/blockviewplugin.cpp similarity index 100% rename from qad/blockview/plugin/blockviewplugin.cpp rename to qad/libs/blockview/plugin/blockviewplugin.cpp diff --git a/qad/blockview/plugin/blockviewplugin.h b/qad/libs/blockview/plugin/blockviewplugin.h similarity index 100% rename from qad/blockview/plugin/blockviewplugin.h rename to qad/libs/blockview/plugin/blockviewplugin.h diff --git a/qad/blockview/plugin/qad_blockview.cpp b/qad/libs/blockview/plugin/qad_blockview.cpp similarity index 100% rename from qad/blockview/plugin/qad_blockview.cpp rename to qad/libs/blockview/plugin/qad_blockview.cpp diff --git a/qad/blockview/plugin/qad_blockview.h b/qad/libs/blockview/plugin/qad_blockview.h similarity index 100% rename from qad/blockview/plugin/qad_blockview.h rename to qad/libs/blockview/plugin/qad_blockview.h diff --git a/qad/libs/blockview/qad_blockview.qrc b/qad/libs/blockview/qad_blockview.qrc new file mode 100644 index 0000000..fd87c3d --- /dev/null +++ b/qad/libs/blockview/qad_blockview.qrc @@ -0,0 +1,51 @@ + + + ../../icons/draw-line.png + ../../icons/align-hor.png + ../../icons/align-ver.png + ../../icons/dialog-close.png + ../../icons/edit-clear.png + ../../icons/edit-guides.png + ../../icons/view-grid.png + ../../icons/zoom-fit-best.png + ../../icons/configure.png + ../../icons/document-save.png + ../../icons/edit-clear-locationbar-rtl.png + ../../icons/edit-find.png + ../../icons/list-add.png + ../../icons/edit-delete.png + ../../icons/item.png + ../../icons/node-add.png + ../../icons/node.png + ../../icons/edit-copy.png + ../../icons/edit-paste.png + ../../icons/expand_s_x.png + ../../icons/expand_s_y.png + ../../icons/expand_x.png + ../../icons/expand_y.png + ../../icons/border-line.png + ../../icons/legend.png + ../../icons/blockview.png + ../../icons/view-fullscreen.png + ../../icons/draw-ellipse.png + ../../icons/draw-rectangle.png + ../../icons/draw-text.png + ../../icons/view-preview.png + ../../icons/format-fill-color.png + ../../icons/format-stroke-color.png + ../../icons/document-open.png + ../../icons/align-bottom-center.png + ../../icons/align-bottom-left.png + ../../icons/align-bottom-right.png + ../../icons/align-center-center.png + ../../icons/align-center-left.png + ../../icons/align-center-right.png + ../../icons/align-top-center.png + ../../icons/align-top-left.png + ../../icons/align-top-right.png + ../../icons/z-bottom.png + ../../icons/z-down.png + ../../icons/z-top.png + ../../icons/z-up.png + + diff --git a/qad/doc/CMakeLists.txt b/qad/libs/doc/CMakeLists.txt similarity index 97% rename from qad/doc/CMakeLists.txt rename to qad/libs/doc/CMakeLists.txt index 8df0534..d1daf7d 100644 --- a/qad/doc/CMakeLists.txt +++ b/qad/libs/doc/CMakeLists.txt @@ -1,25 +1,25 @@ -include(CheckIncludeFileCXX) -set(CHECK_INCLUDES "-include stdio.h") -if(WIN32) - set(CHECK_INCLUDES "-include windows.h -include stdio.h") -endif() -set(_mkd_header_found 0) -check_include_file_cxx("mkdio.h" MARKDOWN_HEADER_MKDIO ${CHECK_INCLUDES}) -if (MARKDOWN_HEADER_MKDIO OR APPLE) - set(_mkd_header_found 1) - add_definitions("-DMARKDOWN_HEADER=\"mkdio.h\"") -else() - check_include_file_cxx("markdown/markdown.h" MARKDOWN_HEADER_MARKDOWN ${CHECK_INCLUDES}) - if (MARKDOWN_HEADER_MARKDOWN) - set(_mkd_header_found 1) - add_definitions("-DMARKDOWN_HEADER=\"markdown/markdown.h\"") - endif() -endif() -find_library(MARKDOWN_LIBRARY markdown) -if (MARKDOWN_LIBRARY) - if(_mkd_header_found) - qad_project(doc "Core" "${MARKDOWN_LIBRARY}") - else() - message(STATUS "Found markdown library, but *.h missing!") - endif() -endif() +include(CheckIncludeFileCXX) +set(CHECK_INCLUDES "-include stdio.h") +if(WIN32) + set(CHECK_INCLUDES "-include windows.h -include stdio.h") +endif() +set(_mkd_header_found 0) +check_include_file_cxx("mkdio.h" MARKDOWN_HEADER_MKDIO ${CHECK_INCLUDES}) +if (MARKDOWN_HEADER_MKDIO OR APPLE) + set(_mkd_header_found 1) + add_definitions("-DMARKDOWN_HEADER=\"mkdio.h\"") +else() + check_include_file_cxx("markdown/markdown.h" MARKDOWN_HEADER_MARKDOWN ${CHECK_INCLUDES}) + if (MARKDOWN_HEADER_MARKDOWN) + set(_mkd_header_found 1) + add_definitions("-DMARKDOWN_HEADER=\"markdown/markdown.h\"") + endif() +endif() +find_library(MARKDOWN_LIBRARY markdown) +if (MARKDOWN_LIBRARY) + if(_mkd_header_found) + qad_project(doc "Core" "${MARKDOWN_LIBRARY}") + else() + message(STATUS "Found markdown library, but *.h missing!") + endif() +endif() diff --git a/qad/doc/markdown.cpp b/qad/libs/doc/markdown.cpp similarity index 96% rename from qad/doc/markdown.cpp rename to qad/libs/doc/markdown.cpp index 5b50af1..dce891f 100644 --- a/qad/doc/markdown.cpp +++ b/qad/libs/doc/markdown.cpp @@ -1,79 +1,79 @@ -#include "markdown.h" -#include -extern "C" { -#include MARKDOWN_HEADER -} -#ifndef mkd_flags_are -# ifndef MKD_DLEXTRA -# define MKD_DLEXTRA 0x01000000 -# endif -# ifndef MKD_FENCEDCODE -# define MKD_FENCEDCODE 0x02000000 -# endif -# ifndef MKD_EXTRA_FOOTNOTE -# define MKD_EXTRA_FOOTNOTE 0x00200000 -# endif -# ifndef MKD_TOC -# define MKD_TOC 0x00001000 -# endif -# ifndef MKD_AUTOLINK -# define MKD_AUTOLINK 0x00004000 -# endif -# ifndef MKD_GITHUBTAGS -# define MKD_GITHUBTAGS 0x08000000 -# endif -#endif - -static QString markdown_css = "table { margin: 5px; background-color: #cccccc; }" - "table tr { background-color: white; }" - "table td { vertical-align: middle; padding: 5px;}" - "table th { padding: 5px; };" -; - -QString md2html(const QByteArray & src) { - static bool _is_mkd_init = false; - if (src.isEmpty()) return QString(); - if (!_is_mkd_init) { - _is_mkd_init = true; - mkd_initialize(); - } -#ifdef _MARKDOWN_D - DWORD flagm = (MKD_DLEXTRA | MKD_FENCEDCODE); - Document -#endif -#ifdef _MKDIO_D - #ifdef mkd_flags_are - mkd_flag_t * flagm = mkd_flags(); - mkd_set_flag_num(flagm, MKD_DLEXTRA); - mkd_set_flag_num(flagm, MKD_FENCEDCODE); - #else - mkd_flag_t flagm = (MKD_DLEXTRA | MKD_FENCEDCODE | MKD_GITHUBTAGS | MKD_AUTOLINK); - #endif - MMIOT -#endif - * doc = mkd_string(src.constData(), src.size(), 0); - if (!doc) return QString(); - mkd_compile(doc, flagm); - char * html = 0; - int len = mkd_document(doc, &html); - if (!html) { - mkd_cleanup(doc); - return QString(); - } - QString ret = QString::fromUtf8(html, len); - mkd_cleanup(doc); - QString title = QTextStream(&ret, QIODevice::ReadOnly).readLine(); - title = title.mid(title.indexOf(">")+1); - title = title.left(title.indexOf("<")); - QString header = "\n" - "\n\n" - "\n" - "\n"; - header.append("" + title + "\n"); - header.append("\n"); - header.append("\n\n"); - ret.prepend(header); - ret.append("\n\n"); - return ret; -} - +#include "markdown.h" +#include +extern "C" { +#include MARKDOWN_HEADER +} +#ifndef mkd_flags_are +# ifndef MKD_DLEXTRA +# define MKD_DLEXTRA 0x01000000 +# endif +# ifndef MKD_FENCEDCODE +# define MKD_FENCEDCODE 0x02000000 +# endif +# ifndef MKD_EXTRA_FOOTNOTE +# define MKD_EXTRA_FOOTNOTE 0x00200000 +# endif +# ifndef MKD_TOC +# define MKD_TOC 0x00001000 +# endif +# ifndef MKD_AUTOLINK +# define MKD_AUTOLINK 0x00004000 +# endif +# ifndef MKD_GITHUBTAGS +# define MKD_GITHUBTAGS 0x08000000 +# endif +#endif + +static QString markdown_css = "table { margin: 5px; background-color: #cccccc; }" + "table tr { background-color: white; }" + "table td { vertical-align: middle; padding: 5px;}" + "table th { padding: 5px; };" +; + +QString md2html(const QByteArray & src) { + static bool _is_mkd_init = false; + if (src.isEmpty()) return QString(); + if (!_is_mkd_init) { + _is_mkd_init = true; + mkd_initialize(); + } +#ifdef _MARKDOWN_D + DWORD flagm = (MKD_DLEXTRA | MKD_FENCEDCODE); + Document +#endif +#ifdef _MKDIO_D + #ifdef mkd_flags_are + mkd_flag_t * flagm = mkd_flags(); + mkd_set_flag_num(flagm, MKD_DLEXTRA); + mkd_set_flag_num(flagm, MKD_FENCEDCODE); + #else + mkd_flag_t flagm = (MKD_DLEXTRA | MKD_FENCEDCODE | MKD_GITHUBTAGS | MKD_AUTOLINK); + #endif + MMIOT +#endif + * doc = mkd_string(src.constData(), src.size(), 0); + if (!doc) return QString(); + mkd_compile(doc, flagm); + char * html = 0; + int len = mkd_document(doc, &html); + if (!html) { + mkd_cleanup(doc); + return QString(); + } + QString ret = QString::fromUtf8(html, len); + mkd_cleanup(doc); + QString title = QTextStream(&ret, QIODevice::ReadOnly).readLine(); + title = title.mid(title.indexOf(">")+1); + title = title.left(title.indexOf("<")); + QString header = "\n" + "\n\n" + "\n" + "\n"; + header.append("" + title + "\n"); + header.append("\n"); + header.append("\n\n"); + ret.prepend(header); + ret.append("\n\n"); + return ret; +} + diff --git a/qad/doc/markdown.h b/qad/libs/doc/markdown.h similarity index 96% rename from qad/doc/markdown.h rename to qad/libs/doc/markdown.h index 1e7e51f..2fde74c 100644 --- a/qad/doc/markdown.h +++ b/qad/libs/doc/markdown.h @@ -1,30 +1,30 @@ -/* - QAD - Qt ADvanced - - Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . -*/ - -#ifndef QAD_MARKDOWN_H -#define QAD_MARKDOWN_H - -#include -#include "qad_export.h" - - -QAD_EXPORT QString md2html(const QByteArray & src); - - -#endif // QAD_MARKDOWN_H +/* + QAD - Qt ADvanced + + Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ + +#ifndef QAD_MARKDOWN_H +#define QAD_MARKDOWN_H + +#include +#include "qad_export.h" + + +QAD_EXPORT QString md2html(const QByteArray & src); + + +#endif // QAD_MARKDOWN_H diff --git a/qad/graphic/CMakeLists.txt b/qad/libs/graphic/CMakeLists.txt similarity index 57% rename from qad/graphic/CMakeLists.txt rename to qad/libs/graphic/CMakeLists.txt index 6c37c79..9460cd5 100644 --- a/qad/graphic/CMakeLists.txt +++ b/qad/libs/graphic/CMakeLists.txt @@ -1,4 +1 @@ -qad_project(graphic "Gui;Widgets;OpenGL" "qad_widgets;qad_utils;${OPENGL_LIBRARIES}") -if (graphic_UTILS) - add_subdirectory(qpicalculator) -endif() +qad_project(graphic "Gui;Widgets;OpenGL" "qad_widgets;qad_utils;${OPENGL_LIBRARIES}") diff --git a/qad/graphic/graphic.cpp b/qad/libs/graphic/graphic.cpp similarity index 100% rename from qad/graphic/graphic.cpp rename to qad/libs/graphic/graphic.cpp diff --git a/qad/graphic/graphic.h b/qad/libs/graphic/graphic.h similarity index 100% rename from qad/graphic/graphic.h rename to qad/libs/graphic/graphic.h diff --git a/qad/graphic/graphic.ui b/qad/libs/graphic/graphic.ui similarity index 96% rename from qad/graphic/graphic.ui rename to qad/libs/graphic/graphic.ui index f096c8a..2e58869 100644 --- a/qad/graphic/graphic.ui +++ b/qad/libs/graphic/graphic.ui @@ -1,443 +1,443 @@ - - - Graphic - - - - 0 - 0 - 564 - 433 - - - - - 150 - 150 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 2 - - - - - - - -10 - 0 - 33 - 420 - - - - - 2 - - - - - Autofit - - - - :/icons/view-autofit.png:/icons/view-autofit.png - - - - - - - Grid - - - - :/icons/view-grid.png:/icons/view-grid.png - - - true - - - true - - - - - - - Cursor axis - - - - :/icons/edit-guides.png:/icons/edit-guides.png - - - true - - - - - - - Only expand Y - - - - :/icons/expand_s_y.png:/icons/expand_s_y.png - - - true - - - - - - - Only expand X - - - - :/icons/expand_s_x.png:/icons/expand_s_x.png - - - true - - - - - - - Fullscreen - - - - :/icons/view-fullscreen.png:/icons/view-fullscreen.png - - - - - - - Border inputs - - - - :/icons/border-line.png:/icons/border-line.png - - - true - - - true - - - - - - - Legend - - - - :/icons/legend.png:/icons/legend.png - - - true - - - false - - - - - - - Pause - - - - :/icons/media-playback-pause.png:/icons/media-playback-pause.png - - - true - - - - - - - Configure ... - - - - :/icons/configure.png:/icons/configure.png - - - - - - - Save image ... - - - - :/icons/document-save.png:/icons/document-save.png - - - - - - - Qt::Vertical - - - QSizePolicy::Preferred - - - - 0 - 30 - - - - - - - - Clear - - - - :/icons/edit-clear.png:/icons/edit-clear.png - - - - - - - Close - - - - :/icons/dialog-close.png:/icons/dialog-close.png - - - - - - - Qt::Vertical - - - - 0 - 79 - - - - - - - - - - - - Qt::RichText - - - Qt::AlignCenter - - - - - - - - - - - 0 - 0 - - - - QFrame::Box - - - QFrame::Sunken - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 0 - 0 - - - - - 0 - - - 2 - - - 2 - - - 2 - - - 2 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - 0 - - - - - true - - - - - - - - - - 0 - 0 - - - - - 0 - - - 2 - - - 2 - - - 2 - - - 2 - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - - - Cursor: ( ; ) - - - - - - - - 0 - 0 - - - - - 1 - - - 1 - - - 1 - - - 1 - - - 4 - - - - - - - - - UWidget - QWidget -
uwidget.h
-
-
- - - - - - - -
+ + + Graphic + + + + 0 + 0 + 564 + 433 + + + + + 150 + 150 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 2 + + + + + + + -10 + 0 + 33 + 420 + + + + + 2 + + + + + Autofit + + + + :/icons/view-autofit.png:/icons/view-autofit.png + + + + + + + Grid + + + + :/icons/view-grid.png:/icons/view-grid.png + + + true + + + true + + + + + + + Cursor axis + + + + :/icons/edit-guides.png:/icons/edit-guides.png + + + true + + + + + + + Only expand Y + + + + :/icons/expand_s_y.png:/icons/expand_s_y.png + + + true + + + + + + + Only expand X + + + + :/icons/expand_s_x.png:/icons/expand_s_x.png + + + true + + + + + + + Fullscreen + + + + :/icons/view-fullscreen.png:/icons/view-fullscreen.png + + + + + + + Border inputs + + + + :/icons/border-line.png:/icons/border-line.png + + + true + + + true + + + + + + + Legend + + + + :/icons/legend.png:/icons/legend.png + + + true + + + false + + + + + + + Pause + + + + :/icons/media-playback-pause.png:/icons/media-playback-pause.png + + + true + + + + + + + Configure ... + + + + :/icons/configure.png:/icons/configure.png + + + + + + + Save image ... + + + + :/icons/document-save.png:/icons/document-save.png + + + + + + + Qt::Vertical + + + QSizePolicy::Preferred + + + + 0 + 30 + + + + + + + + Clear + + + + :/icons/edit-clear.png:/icons/edit-clear.png + + + + + + + Close + + + + :/icons/dialog-close.png:/icons/dialog-close.png + + + + + + + Qt::Vertical + + + + 0 + 79 + + + + + + + + + + + + Qt::RichText + + + Qt::AlignCenter + + + + + + + + + + + 0 + 0 + + + + QFrame::Box + + + QFrame::Sunken + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 0 + + + 2 + + + 2 + + + 2 + + + 2 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + 0 + + + + + true + + + + + + + + + + 0 + 0 + + + + + 0 + + + 2 + + + 2 + + + 2 + + + 2 + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + + + Cursor: ( ; ) + + + + + + + + 0 + 0 + + + + + 1 + + + 1 + + + 1 + + + 1 + + + 4 + + + + + + + + + UWidget + QWidget +
uwidget.h
+
+
+ + + + + + + +
diff --git a/qad/graphic/graphic_conf.cpp b/qad/libs/graphic/graphic_conf.cpp similarity index 100% rename from qad/graphic/graphic_conf.cpp rename to qad/libs/graphic/graphic_conf.cpp diff --git a/qad/graphic/graphic_conf.h b/qad/libs/graphic/graphic_conf.h similarity index 100% rename from qad/graphic/graphic_conf.h rename to qad/libs/graphic/graphic_conf.h diff --git a/qad/graphic/graphic_conf.ui b/qad/libs/graphic/graphic_conf.ui similarity index 96% rename from qad/graphic/graphic_conf.ui rename to qad/libs/graphic/graphic_conf.ui index 7b26a2a..fc60581 100644 --- a/qad/graphic/graphic_conf.ui +++ b/qad/libs/graphic/graphic_conf.ui @@ -1,644 +1,644 @@ - - - GraphicConf - - - Qt::WindowModal - - - - 0 - 0 - 500 - 583 - - - - Graphic parameters - - - true - - - - - - Appearance - - - - - - - - Border inputs - - - - - - - Antialiasing - - - - - - - Status bar - - - - - - - OpenGL - - - - - - - Legend - - - - - - - - - QFormLayout::AllNonFixedFieldsGrow - - - - - - 0 - 0 - - - - Background color: - - - - - - - true - - - - - - - - 0 - 0 - - - - Text color: - - - - - - - true - - - - - - - - - - - - Graphics - - - - QFormLayout::AllNonFixedFieldsGrow - - - - - - 0 - 0 - - - - - - - - Color: - - - - - - - true - - - - - - - Style: - - - - - - - - - - Lines width: - - - true - - - - - - - 2 - - - 1.000000000000000 - - - - - - - Points width: - - - true - - - - - - - 2 - - - 999.990000000000009 - - - 1.000000000000000 - - - - - - - Fill: - - - true - - - - - - - true - - - - - - - - - - Grid - - - - QFormLayout::AllNonFixedFieldsGrow - - - - - Color: - - - - - - - true - - - - - - - Style: - - - - - - - - - - Width: - - - - - - - 2 - - - - - - - Step X: - - - - - - - Step Y: - - - - - - - Auto X - - - true - - - - - - - Auto Y - - - true - - - - - - - 30 - - - 30 - - - true - - - - - - - 50 - - - 50 - - - true - - - - - - - - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Margins - - - - - - px - - - 100 - - - - - - - px - - - 100 - - - - - - - All: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - px - - - 100 - - - - - - - Right: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Left: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Bottom: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - px - - - 100 - - - - - - - Top: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - px - - - 100 - - - - - - - - - - - ColorButton - QPushButton -
colorbutton.h
- - colorChanged(QColor) - -
- - EvalSpinBox - QWidget -
evalspinbox.h
-
-
- - checkAAlias - checkOGL - colorBackground - colorText - colorGrid - comboStyleGrid - spinWidthGrid - cbGraphicNames - colorGraphic - comboStyleGraphic - checkLines - spinLineWidthGraphic - checkPoints - spinPointWidthGraphic - buttonBox - - - - - buttonBox - rejected() - GraphicConf - reject() - - - 255 - 641 - - - 245 - 207 - - - - - checkLines - toggled(bool) - spinLineWidthGraphic - setEnabled(bool) - - - 322 - 410 - - - 415 - 411 - - - - - checkPoints - toggled(bool) - spinPointWidthGraphic - setEnabled(bool) - - - 322 - 434 - - - 415 - 435 - - - - - buttonBox - accepted() - GraphicConf - accept() - - - 294 - 641 - - - 288 - 268 - - - - - checkFill - toggled(bool) - colorFill - setEnabled(bool) - - - 322 - 458 - - - 415 - 460 - - - - - spinMarginT_2 - valueChanged(int) - spinMarginT - setValue(int) - - - 259 - 221 - - - 249 - 191 - - - - - spinMarginT_2 - valueChanged(int) - spinMarginR - setValue(int) - - - 268 - 220 - - - 371 - 220 - - - - - spinMarginT_2 - valueChanged(int) - spinMarginB - setValue(int) - - - 233 - 230 - - - 234 - 252 - - - - - spinMarginT_2 - valueChanged(int) - spinMarginL - setValue(int) - - - 213 - 230 - - - 133 - 229 - - - - -
+ + + GraphicConf + + + Qt::WindowModal + + + + 0 + 0 + 500 + 583 + + + + Graphic parameters + + + true + + + + + + Appearance + + + + + + + + Border inputs + + + + + + + Antialiasing + + + + + + + Status bar + + + + + + + OpenGL + + + + + + + Legend + + + + + + + + + QFormLayout::AllNonFixedFieldsGrow + + + + + + 0 + 0 + + + + Background color: + + + + + + + true + + + + + + + + 0 + 0 + + + + Text color: + + + + + + + true + + + + + + + + + + + + Graphics + + + + QFormLayout::AllNonFixedFieldsGrow + + + + + + 0 + 0 + + + + + + + + Color: + + + + + + + true + + + + + + + Style: + + + + + + + + + + Lines width: + + + true + + + + + + + 2 + + + 1.000000000000000 + + + + + + + Points width: + + + true + + + + + + + 2 + + + 999.990000000000009 + + + 1.000000000000000 + + + + + + + Fill: + + + true + + + + + + + true + + + + + + + + + + Grid + + + + QFormLayout::AllNonFixedFieldsGrow + + + + + Color: + + + + + + + true + + + + + + + Style: + + + + + + + + + + Width: + + + + + + + 2 + + + + + + + Step X: + + + + + + + Step Y: + + + + + + + Auto X + + + true + + + + + + + Auto Y + + + true + + + + + + + 30 + + + 30 + + + true + + + + + + + 50 + + + 50 + + + true + + + + + + + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Margins + + + + + + px + + + 100 + + + + + + + px + + + 100 + + + + + + + All: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + px + + + 100 + + + + + + + Right: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Left: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Bottom: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + px + + + 100 + + + + + + + Top: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + px + + + 100 + + + + + + + + + + + ColorButton + QPushButton +
colorbutton.h
+ + colorChanged(QColor) + +
+ + EvalSpinBox + QWidget +
evalspinbox.h
+
+
+ + checkAAlias + checkOGL + colorBackground + colorText + colorGrid + comboStyleGrid + spinWidthGrid + cbGraphicNames + colorGraphic + comboStyleGraphic + checkLines + spinLineWidthGraphic + checkPoints + spinPointWidthGraphic + buttonBox + + + + + buttonBox + rejected() + GraphicConf + reject() + + + 255 + 641 + + + 245 + 207 + + + + + checkLines + toggled(bool) + spinLineWidthGraphic + setEnabled(bool) + + + 322 + 410 + + + 415 + 411 + + + + + checkPoints + toggled(bool) + spinPointWidthGraphic + setEnabled(bool) + + + 322 + 434 + + + 415 + 435 + + + + + buttonBox + accepted() + GraphicConf + accept() + + + 294 + 641 + + + 288 + 268 + + + + + checkFill + toggled(bool) + colorFill + setEnabled(bool) + + + 322 + 458 + + + 415 + 460 + + + + + spinMarginT_2 + valueChanged(int) + spinMarginT + setValue(int) + + + 259 + 221 + + + 249 + 191 + + + + + spinMarginT_2 + valueChanged(int) + spinMarginR + setValue(int) + + + 268 + 220 + + + 371 + 220 + + + + + spinMarginT_2 + valueChanged(int) + spinMarginB + setValue(int) + + + 233 + 230 + + + 234 + 252 + + + + + spinMarginT_2 + valueChanged(int) + spinMarginL + setValue(int) + + + 213 + 230 + + + 133 + 229 + + + + +
diff --git a/qad/graphic/lang/qad_graphic_en.ts b/qad/libs/graphic/lang/qad_graphic_en.ts similarity index 100% rename from qad/graphic/lang/qad_graphic_en.ts rename to qad/libs/graphic/lang/qad_graphic_en.ts diff --git a/qad/graphic/lang/qad_graphic_ru.ts b/qad/libs/graphic/lang/qad_graphic_ru.ts similarity index 100% rename from qad/graphic/lang/qad_graphic_ru.ts rename to qad/libs/graphic/lang/qad_graphic_ru.ts diff --git a/qad/graphic/lang/update.bat b/qad/libs/graphic/lang/update.bat similarity index 100% rename from qad/graphic/lang/update.bat rename to qad/libs/graphic/lang/update.bat diff --git a/qad/graphic/plugin/CMakeLists.txt b/qad/libs/graphic/plugin/CMakeLists.txt similarity index 97% rename from qad/graphic/plugin/CMakeLists.txt rename to qad/libs/graphic/plugin/CMakeLists.txt index fea0294..10022d3 100644 --- a/qad/graphic/plugin/CMakeLists.txt +++ b/qad/libs/graphic/plugin/CMakeLists.txt @@ -1 +1 @@ -qad_plugin(graphic "Gui;Widgets;OpenGL" "") +qad_plugin(graphic "Gui;Widgets;OpenGL" "") diff --git a/qad/graphic/plugin/graphicplugin.cpp b/qad/libs/graphic/plugin/graphicplugin.cpp similarity index 100% rename from qad/graphic/plugin/graphicplugin.cpp rename to qad/libs/graphic/plugin/graphicplugin.cpp diff --git a/qad/graphic/plugin/graphicplugin.h b/qad/libs/graphic/plugin/graphicplugin.h similarity index 100% rename from qad/graphic/plugin/graphicplugin.h rename to qad/libs/graphic/plugin/graphicplugin.h diff --git a/qad/graphic/plugin/qad_graphic.cpp b/qad/libs/graphic/plugin/qad_graphic.cpp similarity index 100% rename from qad/graphic/plugin/qad_graphic.cpp rename to qad/libs/graphic/plugin/qad_graphic.cpp diff --git a/qad/graphic/plugin/qad_graphic.h b/qad/libs/graphic/plugin/qad_graphic.h similarity index 100% rename from qad/graphic/plugin/qad_graphic.h rename to qad/libs/graphic/plugin/qad_graphic.h diff --git a/qad/libs/graphic/qad_graphic.qrc b/qad/libs/graphic/qad_graphic.qrc new file mode 100644 index 0000000..437c9e3 --- /dev/null +++ b/qad/libs/graphic/qad_graphic.qrc @@ -0,0 +1,28 @@ + + + ../../icons/media-playback-pause.png + ../../icons/dialog-close.png + ../../icons/edit-clear.png + ../../icons/edit-guides.png + ../../icons/view-grid.png + ../../icons/view-autofit.png + ../../icons/configure.png + ../../icons/document-save.png + ../../icons/edit-clear-locationbar-rtl.png + ../../icons/edit-find.png + ../../icons/list-add.png + ../../icons/edit-delete.png + ../../icons/edit-copy.png + ../../icons/edit-paste.png + ../../icons/expand_s_x.png + ../../icons/expand_s_y.png + ../../icons/expand_x.png + ../../icons/expand_y.png + ../../icons/border-line.png + ../../icons/legend.png + ../../icons/graphic.png + ../../icons/view-fullscreen.png + ../../icons/pause-back.png + ../../icons/pause-front.png + + diff --git a/qad/graphic/uglwidget.h b/qad/libs/graphic/uglwidget.h similarity index 100% rename from qad/graphic/uglwidget.h rename to qad/libs/graphic/uglwidget.h diff --git a/qad/graphic/uwidget.h b/qad/libs/graphic/uwidget.h similarity index 100% rename from qad/graphic/uwidget.h rename to qad/libs/graphic/uwidget.h diff --git a/qad/sql_table/CMakeLists.txt b/qad/libs/sql_table/CMakeLists.txt similarity index 98% rename from qad/sql_table/CMakeLists.txt rename to qad/libs/sql_table/CMakeLists.txt index c7f7282..dc33f9b 100644 --- a/qad/sql_table/CMakeLists.txt +++ b/qad/libs/sql_table/CMakeLists.txt @@ -1 +1 @@ -qad_project(sql_table "Gui;Widgets;Sql" "qad_utils;qad_widgets") +qad_project(sql_table "Gui;Widgets;Sql" "qad_utils;qad_widgets") diff --git a/qad/sql_table/lang/qad_sql_table_en.ts b/qad/libs/sql_table/lang/qad_sql_table_en.ts similarity index 100% rename from qad/sql_table/lang/qad_sql_table_en.ts rename to qad/libs/sql_table/lang/qad_sql_table_en.ts diff --git a/qad/sql_table/lang/qad_sql_table_ru.ts b/qad/libs/sql_table/lang/qad_sql_table_ru.ts similarity index 100% rename from qad/sql_table/lang/qad_sql_table_ru.ts rename to qad/libs/sql_table/lang/qad_sql_table_ru.ts diff --git a/qad/sql_table/lang/update.bat b/qad/libs/sql_table/lang/update.bat similarity index 100% rename from qad/sql_table/lang/update.bat rename to qad/libs/sql_table/lang/update.bat diff --git a/qad/sql_table/plugin/CMakeLists.txt b/qad/libs/sql_table/plugin/CMakeLists.txt similarity index 97% rename from qad/sql_table/plugin/CMakeLists.txt rename to qad/libs/sql_table/plugin/CMakeLists.txt index d6e9378..f547573 100644 --- a/qad/sql_table/plugin/CMakeLists.txt +++ b/qad/libs/sql_table/plugin/CMakeLists.txt @@ -1 +1 @@ -qad_plugin(sql_table "Gui;Widgets;Sql" "") +qad_plugin(sql_table "Gui;Widgets;Sql" "") diff --git a/qad/sql_table/plugin/qad_sql_table.cpp b/qad/libs/sql_table/plugin/qad_sql_table.cpp similarity index 100% rename from qad/sql_table/plugin/qad_sql_table.cpp rename to qad/libs/sql_table/plugin/qad_sql_table.cpp diff --git a/qad/sql_table/plugin/qad_sql_table.h b/qad/libs/sql_table/plugin/qad_sql_table.h similarity index 100% rename from qad/sql_table/plugin/qad_sql_table.h rename to qad/libs/sql_table/plugin/qad_sql_table.h diff --git a/qad/sql_table/plugin/sql_record_plugin.cpp b/qad/libs/sql_table/plugin/sql_record_plugin.cpp similarity index 100% rename from qad/sql_table/plugin/sql_record_plugin.cpp rename to qad/libs/sql_table/plugin/sql_record_plugin.cpp diff --git a/qad/sql_table/plugin/sql_record_plugin.h b/qad/libs/sql_table/plugin/sql_record_plugin.h similarity index 100% rename from qad/sql_table/plugin/sql_record_plugin.h rename to qad/libs/sql_table/plugin/sql_record_plugin.h diff --git a/qad/sql_table/plugin/sql_table_plugin.cpp b/qad/libs/sql_table/plugin/sql_table_plugin.cpp similarity index 100% rename from qad/sql_table/plugin/sql_table_plugin.cpp rename to qad/libs/sql_table/plugin/sql_table_plugin.cpp diff --git a/qad/sql_table/plugin/sql_table_plugin.h b/qad/libs/sql_table/plugin/sql_table_plugin.h similarity index 100% rename from qad/sql_table/plugin/sql_table_plugin.h rename to qad/libs/sql_table/plugin/sql_table_plugin.h diff --git a/qad/libs/sql_table/qad_sql_table.qrc b/qad/libs/sql_table/qad_sql_table.qrc new file mode 100644 index 0000000..4673462 --- /dev/null +++ b/qad/libs/sql_table/qad_sql_table.qrc @@ -0,0 +1,26 @@ + + + ../../icons/edit-table-insert-row-below.png + ../../icons/dialog-close.png + ../../icons/edit-clear.png + ../../icons/edit-guides.png + ../../icons/view-grid.png + ../../icons/zoom-fit-best.png + ../../icons/configure.png + ../../icons/document-save.png + ../../icons/edit-clear-locationbar-rtl.png + ../../icons/edit-find.png + ../../icons/list-add.png + ../../icons/edit-delete.png + ../../icons/item.png + ../../icons/node-add.png + ../../icons/node.png + ../../icons/edit-copy.png + ../../icons/edit-paste.png + ../../icons/expand_s_x.png + ../../icons/expand_s_y.png + ../../icons/expand_x.png + ../../icons/expand_y.png + ../../icons/sql_table.png + + diff --git a/qad/sql_table/sql_record_widget.cpp b/qad/libs/sql_table/sql_record_widget.cpp similarity index 100% rename from qad/sql_table/sql_record_widget.cpp rename to qad/libs/sql_table/sql_record_widget.cpp diff --git a/qad/sql_table/sql_record_widget.h b/qad/libs/sql_table/sql_record_widget.h similarity index 100% rename from qad/sql_table/sql_record_widget.h rename to qad/libs/sql_table/sql_record_widget.h diff --git a/qad/sql_table/sql_table_widget.cpp b/qad/libs/sql_table/sql_table_widget.cpp similarity index 100% rename from qad/sql_table/sql_table_widget.cpp rename to qad/libs/sql_table/sql_table_widget.cpp diff --git a/qad/sql_table/sql_table_widget.h b/qad/libs/sql_table/sql_table_widget.h similarity index 100% rename from qad/sql_table/sql_table_widget.h rename to qad/libs/sql_table/sql_table_widget.h diff --git a/qad/sql_table/sql_table_widget.ui b/qad/libs/sql_table/sql_table_widget.ui similarity index 100% rename from qad/sql_table/sql_table_widget.ui rename to qad/libs/sql_table/sql_table_widget.ui diff --git a/qad/touch_widgets/CMakeLists.txt b/qad/libs/touch_widgets/CMakeLists.txt similarity index 97% rename from qad/touch_widgets/CMakeLists.txt rename to qad/libs/touch_widgets/CMakeLists.txt index 1140e08..b90c979 100644 --- a/qad/touch_widgets/CMakeLists.txt +++ b/qad/libs/touch_widgets/CMakeLists.txt @@ -1 +1 @@ -qad_project(touch_widgets "Gui;Widgets" "") +qad_project(touch_widgets "Gui;Widgets" "") diff --git a/qad/touch_widgets/plugin/CMakeLists.txt b/qad/libs/touch_widgets/plugin/CMakeLists.txt similarity index 97% rename from qad/touch_widgets/plugin/CMakeLists.txt rename to qad/libs/touch_widgets/plugin/CMakeLists.txt index 558030d..13ac6d6 100644 --- a/qad/touch_widgets/plugin/CMakeLists.txt +++ b/qad/libs/touch_widgets/plugin/CMakeLists.txt @@ -1 +1 @@ -qad_plugin(touch_widgets "Gui;Widgets" "") +qad_plugin(touch_widgets "Gui;Widgets" "") diff --git a/qad/touch_widgets/plugin/qad_touch_widgets.cpp b/qad/libs/touch_widgets/plugin/qad_touch_widgets.cpp similarity index 100% rename from qad/touch_widgets/plugin/qad_touch_widgets.cpp rename to qad/libs/touch_widgets/plugin/qad_touch_widgets.cpp diff --git a/qad/touch_widgets/plugin/qad_touch_widgets.h b/qad/libs/touch_widgets/plugin/qad_touch_widgets.h similarity index 100% rename from qad/touch_widgets/plugin/qad_touch_widgets.h rename to qad/libs/touch_widgets/plugin/qad_touch_widgets.h diff --git a/qad/touch_widgets/plugin/touchbuttframeplugin.cpp b/qad/libs/touch_widgets/plugin/touchbuttframeplugin.cpp similarity index 100% rename from qad/touch_widgets/plugin/touchbuttframeplugin.cpp rename to qad/libs/touch_widgets/plugin/touchbuttframeplugin.cpp diff --git a/qad/touch_widgets/plugin/touchbuttframeplugin.h b/qad/libs/touch_widgets/plugin/touchbuttframeplugin.h similarity index 100% rename from qad/touch_widgets/plugin/touchbuttframeplugin.h rename to qad/libs/touch_widgets/plugin/touchbuttframeplugin.h diff --git a/qad/touch_widgets/plugin/touchbuttonplugin.cpp b/qad/libs/touch_widgets/plugin/touchbuttonplugin.cpp similarity index 100% rename from qad/touch_widgets/plugin/touchbuttonplugin.cpp rename to qad/libs/touch_widgets/plugin/touchbuttonplugin.cpp diff --git a/qad/touch_widgets/plugin/touchbuttonplugin.h b/qad/libs/touch_widgets/plugin/touchbuttonplugin.h similarity index 100% rename from qad/touch_widgets/plugin/touchbuttonplugin.h rename to qad/libs/touch_widgets/plugin/touchbuttonplugin.h diff --git a/qad/touch_widgets/plugin/touchsliderplugin.cpp b/qad/libs/touch_widgets/plugin/touchsliderplugin.cpp similarity index 100% rename from qad/touch_widgets/plugin/touchsliderplugin.cpp rename to qad/libs/touch_widgets/plugin/touchsliderplugin.cpp diff --git a/qad/touch_widgets/plugin/touchsliderplugin.h b/qad/libs/touch_widgets/plugin/touchsliderplugin.h similarity index 100% rename from qad/touch_widgets/plugin/touchsliderplugin.h rename to qad/libs/touch_widgets/plugin/touchsliderplugin.h diff --git a/qad/touch_widgets/touch_bar.h b/qad/libs/touch_widgets/touch_bar.h similarity index 96% rename from qad/touch_widgets/touch_bar.h rename to qad/libs/touch_widgets/touch_bar.h index 8bedee9..e2b6f7a 100644 --- a/qad/touch_widgets/touch_bar.h +++ b/qad/libs/touch_widgets/touch_bar.h @@ -1,36 +1,36 @@ -/* - QAD - Qt ADvanced - - Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . -*/ - -#ifndef TOUCH_BAR_H -#define TOUCH_BAR_H - -#include - -class touch_bar: public QProgressBar { - Q_OBJECT -public: - touch_bar(QWidget * parent = 0): QProgressBar(parent) - { - //setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum); - } -signals: - void mouseMoveEvent(QMouseEvent * e); - void mousePressEvent(QMouseEvent * e); -}; -#endif // TOUCH_BAR_H +/* + QAD - Qt ADvanced + + Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ + +#ifndef TOUCH_BAR_H +#define TOUCH_BAR_H + +#include + +class touch_bar: public QProgressBar { + Q_OBJECT +public: + touch_bar(QWidget * parent = 0): QProgressBar(parent) + { + //setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum); + } +signals: + void mouseMoveEvent(QMouseEvent * e); + void mousePressEvent(QMouseEvent * e); +}; +#endif // TOUCH_BAR_H diff --git a/qad/libs/touch_widgets/touch_widgets.qrc b/qad/libs/touch_widgets/touch_widgets.qrc new file mode 100644 index 0000000..ff1d228 --- /dev/null +++ b/qad/libs/touch_widgets/touch_widgets.qrc @@ -0,0 +1,7 @@ + + + ../../icons/touchbuttframe.png + ../../icons/touchbutton.png + ../../icons/touchslider.png + + diff --git a/qad/touch_widgets/touchbuttframe.cpp b/qad/libs/touch_widgets/touchbuttframe.cpp similarity index 100% rename from qad/touch_widgets/touchbuttframe.cpp rename to qad/libs/touch_widgets/touchbuttframe.cpp diff --git a/qad/touch_widgets/touchbuttframe.h b/qad/libs/touch_widgets/touchbuttframe.h similarity index 100% rename from qad/touch_widgets/touchbuttframe.h rename to qad/libs/touch_widgets/touchbuttframe.h diff --git a/qad/touch_widgets/touchbutton.cpp b/qad/libs/touch_widgets/touchbutton.cpp similarity index 100% rename from qad/touch_widgets/touchbutton.cpp rename to qad/libs/touch_widgets/touchbutton.cpp diff --git a/qad/touch_widgets/touchbutton.h b/qad/libs/touch_widgets/touchbutton.h similarity index 100% rename from qad/touch_widgets/touchbutton.h rename to qad/libs/touch_widgets/touchbutton.h diff --git a/qad/touch_widgets/touchslider.cpp b/qad/libs/touch_widgets/touchslider.cpp similarity index 96% rename from qad/touch_widgets/touchslider.cpp rename to qad/libs/touch_widgets/touchslider.cpp index 515acdc..f903314 100644 --- a/qad/touch_widgets/touchslider.cpp +++ b/qad/libs/touch_widgets/touchslider.cpp @@ -1,242 +1,242 @@ -#include "touchslider.h" -#include "ui_touchslider.h" - - -TouchSlider::TouchSlider(QWidget * parent): QGroupBox(parent), ui(new Ui::TouchSlider) { - ui->setupUi(this); - ui->barNeg->setMinimum(0); - prec = 1; - id_click = id_set = -1; - hasZero = true; - m_readOnly = false; - m_showMinMax = false; -} - - -TouchSlider::~TouchSlider() { - delete ui; -} - - -void TouchSlider::on_pbMin_clicked() { - if (m_readOnly) return; - ui->barNeg->setValue(ui->barNeg->maximum()); - ui->barPos->setValue(ui->barPos->minimum()); -} - - -void TouchSlider::on_pbMax_clicked() { - if (m_readOnly) return; - ui->barNeg->setValue(ui->barNeg->minimum()); - ui->barPos->setValue(ui->barPos->maximum()); -} - - -void TouchSlider::on_pbInc_clicked() { - if (ui->barPos->value() >= 0 && ui->barNeg->value() == 0) ui->barPos->setValue(ui->barPos->value() + 1); - if (ui->barNeg->value() > 0) ui->barNeg->setValue(ui->barNeg->value() - 1); -} - - -void TouchSlider::on_pbDec_clicked() { - if (ui->barNeg->value() >= 0 && ui->barPos->value() == 0 && hasZero) ui->barNeg->setValue(ui->barNeg->value() + 1); - if (ui->barPos->value() > 0) ui->barPos->setValue(ui->barPos->value() - 1); -} - - -void TouchSlider::on_pbZero_clicked() { - ui->barNeg->setValue(ui->barNeg->minimum()); - ui->barPos->setValue(ui->barPos->minimum()); -} - - -void TouchSlider::setValue(double val) { - if (val < minimum()) val = minimum(); - if (val > maximum()) val = maximum(); - if (val < 0) { - ui->barPos->setValue(ui->barPos->minimum()); - if (hasZero) ui->barNeg->setValue(qRound(-val / prec)); - } else { - ui->barPos->setValue(qRound(val / prec)); - ui->barNeg->setValue(ui->barNeg->minimum()); - } - updateCaption(); -} - - -double TouchSlider::value() const { - if (ui->barNeg->value() <= ui->barNeg->minimum()) - return (double)(ui->barPos->value()) * prec; - else return -(double)(ui->barNeg->value()) * prec; -} - - -void TouchSlider::setMaximum(double max) { - double val = value(); - if (max < 0) return; - ui->barPos->setMaximum(qRound(max / prec)); - setValue(val); - ui->pbMax->setText(QString::number(maximum())); -} - - -double TouchSlider::maximum() const { - return (double)(ui->barPos->maximum()) * prec; -} - - -void TouchSlider::setMinimum(double min) { - double val = value(); - if (min < 0) { - hasZero = true; - ui->barNeg->setMaximum(qRound(-min / prec)); - ui->barPos->setMinimum(0); - ui->barNeg->setVisible(true); - ui->pbZero->setVisible(true); - setValue(val); - } else { - hasZero = false; - ui->barNeg->setMaximum(0); - ui->barNeg->setVisible(false); - ui->pbZero->setVisible(false); - ui->barPos->setMinimum(qRound(min / prec)); - setValue(val); - } - ui->pbMin->setText(QString::number(minimum())); -} - - -double TouchSlider::minimum() const { - if (hasZero) return -(double)(ui->barNeg->maximum()) * prec; - return (double)(ui->barPos->minimum()) * prec; -} - - -void TouchSlider::setPrecision(double precision) { - double min = minimum(); - double max = maximum(); - double val = value(); - prec = precision; - setMinimum(min); - setMaximum(max); - setValue(val); - ui->pbInc->setText("+" + QString::number(precision)); - ui->pbDec->setText("-" + QString::number(precision)); -} - - -double TouchSlider::precision() const { - return prec; -} - - -void TouchSlider::updateCaption() { - setTitle(pref + " " + QString::number(value()) + " " + suff); - emit valueChanged(value()); - emit valueChanged((int)value()); - emit valueChangedID(id_click, value()); - emit valueChangedID(id_click, (int)value()); -} - - -void TouchSlider::on_barPos_mouseMoveEvent(QMouseEvent * e) { - if (m_readOnly) return; - int tx = e->x(); - if (tx > ui->barPos->width()) tx = ui->barPos->width(); - if (tx < 0) { - if (hasZero) { - int nx = tx + ui->barNeg->width() + layout()->spacing(); - if (nx < ui->barNeg->width()) { - QMouseEvent * event = new QMouseEvent(QMouseEvent::MouseMove, QPoint(nx, 0), Qt::NoButton, Qt::NoButton, Qt::NoModifier); - on_barNeg_mouseMoveEvent(event); - return; - } - } - tx = 0; - } - ui->barPos->setValue(ui->barPos->minimum() + qRound((double)(tx * (ui->barPos->maximum() - ui->barPos->minimum())) / (double)(ui->barPos->width()))); - ui->barNeg->setValue(ui->barNeg->minimum()); -} - - -void TouchSlider::on_barNeg_mouseMoveEvent(QMouseEvent * e) { - if (m_readOnly) return; - int tx = e->x(); - if (tx < 0) tx = 0; - if (tx > ui->barNeg->width()) { - int nx = tx - ui->barPos->width() - layout()->spacing(); - if (nx > 0) { - QMouseEvent * event = new QMouseEvent(QMouseEvent::MouseMove, QPoint(nx, 0), Qt::NoButton, Qt::NoButton, Qt::NoModifier); - on_barPos_mouseMoveEvent(event); - return; - } - tx = ui->barNeg->width(); - } - ui->barNeg->setValue(ui->barNeg->maximum() - qRound((double)(tx * ui->barNeg->maximum()) / (double)(ui->barNeg->width()))); - ui->barPos->setValue(ui->barPos->minimum()); -} - - -void TouchSlider::on_barPos_mousePressEvent(QMouseEvent * e) { - if (m_readOnly) return; - ui->barPos->setValue(ui->barPos->minimum() + qRound((double)(e->x() * (ui->barPos->maximum() - ui->barPos->minimum())) / (double)(ui->barPos->width()))); - ui->barNeg->setValue(ui->barNeg->minimum()); -} - - -void TouchSlider::on_barNeg_mousePressEvent(QMouseEvent * e) { - if (m_readOnly) return; - ui->barNeg->setValue(ui->barNeg->maximum() - qRound((double)(e->x()*ui->barNeg->maximum()) / (double)(ui->barNeg->width()))); - ui->barPos->setValue(ui->barPos->minimum()); -} - - -void TouchSlider::on_barNeg_valueChanged(int) { - updateCaption(); -} - - -void TouchSlider::on_barPos_valueChanged(int) { - updateCaption(); -} - - -void TouchSlider::setReadOnly(bool arg) { - QBoxLayout * bl = qobject_cast(layout()); - m_readOnly = arg; - if (arg) { - ui->pbDec->hide(); - ui->pbInc->hide(); - if (hasZero) - ui->pbZero->hide(); - bl->setStretchFactor(ui->pbMin, 2); - bl->setStretchFactor(ui->pbMax, 2); - } else { - ui->pbDec->show(); - ui->pbInc->show(); - if (hasZero) - ui->pbZero->show(); - bl->setStretchFactor(ui->pbMin, 1); - bl->setStretchFactor(ui->pbMax, 1); - } -} - - -void TouchSlider::setShowMinMax(bool arg) { - QBoxLayout * bl = qobject_cast(layout()); - m_showMinMax = arg; - if (arg) { - ui->pbMin->hide(); - ui->pbMax->hide(); - bl->setStretchFactor(ui->pbInc, 2); - bl->setStretchFactor(ui->pbDec, 2); - bl->setStretchFactor(ui->pbZero, 2); - } else { - ui->pbMin->show(); - ui->pbMax->show(); - bl->setStretchFactor(ui->pbInc, 1); - bl->setStretchFactor(ui->pbDec, 1); - bl->setStretchFactor(ui->pbZero, 1); - } -} - +#include "touchslider.h" +#include "ui_touchslider.h" + + +TouchSlider::TouchSlider(QWidget * parent): QGroupBox(parent), ui(new Ui::TouchSlider) { + ui->setupUi(this); + ui->barNeg->setMinimum(0); + prec = 1; + id_click = id_set = -1; + hasZero = true; + m_readOnly = false; + m_showMinMax = false; +} + + +TouchSlider::~TouchSlider() { + delete ui; +} + + +void TouchSlider::on_pbMin_clicked() { + if (m_readOnly) return; + ui->barNeg->setValue(ui->barNeg->maximum()); + ui->barPos->setValue(ui->barPos->minimum()); +} + + +void TouchSlider::on_pbMax_clicked() { + if (m_readOnly) return; + ui->barNeg->setValue(ui->barNeg->minimum()); + ui->barPos->setValue(ui->barPos->maximum()); +} + + +void TouchSlider::on_pbInc_clicked() { + if (ui->barPos->value() >= 0 && ui->barNeg->value() == 0) ui->barPos->setValue(ui->barPos->value() + 1); + if (ui->barNeg->value() > 0) ui->barNeg->setValue(ui->barNeg->value() - 1); +} + + +void TouchSlider::on_pbDec_clicked() { + if (ui->barNeg->value() >= 0 && ui->barPos->value() == 0 && hasZero) ui->barNeg->setValue(ui->barNeg->value() + 1); + if (ui->barPos->value() > 0) ui->barPos->setValue(ui->barPos->value() - 1); +} + + +void TouchSlider::on_pbZero_clicked() { + ui->barNeg->setValue(ui->barNeg->minimum()); + ui->barPos->setValue(ui->barPos->minimum()); +} + + +void TouchSlider::setValue(double val) { + if (val < minimum()) val = minimum(); + if (val > maximum()) val = maximum(); + if (val < 0) { + ui->barPos->setValue(ui->barPos->minimum()); + if (hasZero) ui->barNeg->setValue(qRound(-val / prec)); + } else { + ui->barPos->setValue(qRound(val / prec)); + ui->barNeg->setValue(ui->barNeg->minimum()); + } + updateCaption(); +} + + +double TouchSlider::value() const { + if (ui->barNeg->value() <= ui->barNeg->minimum()) + return (double)(ui->barPos->value()) * prec; + else return -(double)(ui->barNeg->value()) * prec; +} + + +void TouchSlider::setMaximum(double max) { + double val = value(); + if (max < 0) return; + ui->barPos->setMaximum(qRound(max / prec)); + setValue(val); + ui->pbMax->setText(QString::number(maximum())); +} + + +double TouchSlider::maximum() const { + return (double)(ui->barPos->maximum()) * prec; +} + + +void TouchSlider::setMinimum(double min) { + double val = value(); + if (min < 0) { + hasZero = true; + ui->barNeg->setMaximum(qRound(-min / prec)); + ui->barPos->setMinimum(0); + ui->barNeg->setVisible(true); + ui->pbZero->setVisible(true); + setValue(val); + } else { + hasZero = false; + ui->barNeg->setMaximum(0); + ui->barNeg->setVisible(false); + ui->pbZero->setVisible(false); + ui->barPos->setMinimum(qRound(min / prec)); + setValue(val); + } + ui->pbMin->setText(QString::number(minimum())); +} + + +double TouchSlider::minimum() const { + if (hasZero) return -(double)(ui->barNeg->maximum()) * prec; + return (double)(ui->barPos->minimum()) * prec; +} + + +void TouchSlider::setPrecision(double precision) { + double min = minimum(); + double max = maximum(); + double val = value(); + prec = precision; + setMinimum(min); + setMaximum(max); + setValue(val); + ui->pbInc->setText("+" + QString::number(precision)); + ui->pbDec->setText("-" + QString::number(precision)); +} + + +double TouchSlider::precision() const { + return prec; +} + + +void TouchSlider::updateCaption() { + setTitle(pref + " " + QString::number(value()) + " " + suff); + emit valueChanged(value()); + emit valueChanged((int)value()); + emit valueChangedID(id_click, value()); + emit valueChangedID(id_click, (int)value()); +} + + +void TouchSlider::on_barPos_mouseMoveEvent(QMouseEvent * e) { + if (m_readOnly) return; + int tx = e->x(); + if (tx > ui->barPos->width()) tx = ui->barPos->width(); + if (tx < 0) { + if (hasZero) { + int nx = tx + ui->barNeg->width() + layout()->spacing(); + if (nx < ui->barNeg->width()) { + QMouseEvent * event = new QMouseEvent(QMouseEvent::MouseMove, QPoint(nx, 0), Qt::NoButton, Qt::NoButton, Qt::NoModifier); + on_barNeg_mouseMoveEvent(event); + return; + } + } + tx = 0; + } + ui->barPos->setValue(ui->barPos->minimum() + qRound((double)(tx * (ui->barPos->maximum() - ui->barPos->minimum())) / (double)(ui->barPos->width()))); + ui->barNeg->setValue(ui->barNeg->minimum()); +} + + +void TouchSlider::on_barNeg_mouseMoveEvent(QMouseEvent * e) { + if (m_readOnly) return; + int tx = e->x(); + if (tx < 0) tx = 0; + if (tx > ui->barNeg->width()) { + int nx = tx - ui->barPos->width() - layout()->spacing(); + if (nx > 0) { + QMouseEvent * event = new QMouseEvent(QMouseEvent::MouseMove, QPoint(nx, 0), Qt::NoButton, Qt::NoButton, Qt::NoModifier); + on_barPos_mouseMoveEvent(event); + return; + } + tx = ui->barNeg->width(); + } + ui->barNeg->setValue(ui->barNeg->maximum() - qRound((double)(tx * ui->barNeg->maximum()) / (double)(ui->barNeg->width()))); + ui->barPos->setValue(ui->barPos->minimum()); +} + + +void TouchSlider::on_barPos_mousePressEvent(QMouseEvent * e) { + if (m_readOnly) return; + ui->barPos->setValue(ui->barPos->minimum() + qRound((double)(e->x() * (ui->barPos->maximum() - ui->barPos->minimum())) / (double)(ui->barPos->width()))); + ui->barNeg->setValue(ui->barNeg->minimum()); +} + + +void TouchSlider::on_barNeg_mousePressEvent(QMouseEvent * e) { + if (m_readOnly) return; + ui->barNeg->setValue(ui->barNeg->maximum() - qRound((double)(e->x()*ui->barNeg->maximum()) / (double)(ui->barNeg->width()))); + ui->barPos->setValue(ui->barPos->minimum()); +} + + +void TouchSlider::on_barNeg_valueChanged(int) { + updateCaption(); +} + + +void TouchSlider::on_barPos_valueChanged(int) { + updateCaption(); +} + + +void TouchSlider::setReadOnly(bool arg) { + QBoxLayout * bl = qobject_cast(layout()); + m_readOnly = arg; + if (arg) { + ui->pbDec->hide(); + ui->pbInc->hide(); + if (hasZero) + ui->pbZero->hide(); + bl->setStretchFactor(ui->pbMin, 2); + bl->setStretchFactor(ui->pbMax, 2); + } else { + ui->pbDec->show(); + ui->pbInc->show(); + if (hasZero) + ui->pbZero->show(); + bl->setStretchFactor(ui->pbMin, 1); + bl->setStretchFactor(ui->pbMax, 1); + } +} + + +void TouchSlider::setShowMinMax(bool arg) { + QBoxLayout * bl = qobject_cast(layout()); + m_showMinMax = arg; + if (arg) { + ui->pbMin->hide(); + ui->pbMax->hide(); + bl->setStretchFactor(ui->pbInc, 2); + bl->setStretchFactor(ui->pbDec, 2); + bl->setStretchFactor(ui->pbZero, 2); + } else { + ui->pbMin->show(); + ui->pbMax->show(); + bl->setStretchFactor(ui->pbInc, 1); + bl->setStretchFactor(ui->pbDec, 1); + bl->setStretchFactor(ui->pbZero, 1); + } +} + diff --git a/qad/touch_widgets/touchslider.h b/qad/libs/touch_widgets/touchslider.h similarity index 96% rename from qad/touch_widgets/touchslider.h rename to qad/libs/touch_widgets/touchslider.h index 4f2f043..a55bb8d 100644 --- a/qad/touch_widgets/touchslider.h +++ b/qad/libs/touch_widgets/touchslider.h @@ -1,127 +1,127 @@ -/* - QAD - Qt ADvanced - - Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . -*/ - -#ifndef TOUCHSLIDER_H -#define TOUCHSLIDER_H - -#include -#include -#include "qad_export.h" - - -namespace Ui { - class TouchSlider; -} - - -class QAD_EXPORT TouchSlider: public QGroupBox -{ - Q_OBJECT - Q_PROPERTY(bool readOnly READ readOnly WRITE setReadOnly) - Q_PROPERTY(bool showMinMax READ showMinMax WRITE setShowMinMax) - Q_PROPERTY(double minimum READ minimum WRITE setMinimum) - Q_PROPERTY(double maximum READ maximum WRITE setMaximum) - Q_PROPERTY(double value READ value WRITE setValue) - Q_PROPERTY(double precision READ precision WRITE setPrecision) - Q_PROPERTY(QString prefix READ prefix WRITE setPrefix) - Q_PROPERTY(QString suffix READ suffix WRITE setSuffix) - Q_PROPERTY(int clickID READ clickID WRITE setClickID) - Q_PROPERTY(int setID READ setID WRITE setSetID) - -public: - explicit TouchSlider(QWidget *parent = 0); - ~TouchSlider(); - - int clickID() const {return id_click;} - int setID() const {return id_set;} - - double minimum() const; - double maximum() const; - double value() const; - double precision() const; - QString prefix() const {return pref;} - QString suffix() const {return suff;} - bool readOnly() const {return m_readOnly;} - bool showMinMax() const {return m_showMinMax;} - -private: - void updateCaption(); - - Ui::TouchSlider *ui; - bool hasZero; - bool m_readOnly; - bool m_showMinMax; - double prec; - int id_click, id_set; - QString pref, suff; - -public slots: - void enable() {setEnabled(true);} - void disable() {setEnabled(false);} - - void setClickID(int id) {id_click = id;} - void setSetID(int id) {id_set = id;} - - void setSuffix(const QString & text) {suff = text; updateCaption();} - void setPrefix(const QString & text) {pref = text; updateCaption();} - void setPrecision(double precision); - void setPrecision(int precision) {setPrecision((double)precision);} - void setMinimum(double min); - void setMinimum(int min) {setMinimum((double)min);} - void setMaximum(double max); - void setMaximum(int max) {setMaximum((double)max);} - void setReadOnly(bool yes); - void setShowMinMax(bool yes); - - void setValue(double val); - void setValue(int val) {setValue((double)val);} - - void enableID(int set_id) {if (set_id == id_set) enable();} - void disableID(int set_id) {if (set_id == id_set) disable();} - - void setValueID(int set_id, double val) {if (set_id == id_set) setValue(val);} - void setValueID(int set_id, int val) {if (set_id == id_set) setValue(val);} - - void clickMin() {on_pbMin_clicked();} - void clickMax() {on_pbMax_clicked();} - void clickInc() {on_pbInc_clicked();} - void clickDec() {on_pbDec_clicked();} - void clickZero() {on_pbZero_clicked();} - -private slots: - void on_barPos_valueChanged(int value); - void on_barNeg_valueChanged(int value); - void on_barNeg_mousePressEvent(QMouseEvent*); - void on_barPos_mousePressEvent(QMouseEvent*); - void on_barNeg_mouseMoveEvent(QMouseEvent*); - void on_barPos_mouseMoveEvent(QMouseEvent*); - void on_pbZero_clicked(); - void on_pbDec_clicked(); - void on_pbInc_clicked(); - void on_pbMax_clicked(); - void on_pbMin_clicked(); - -signals: - void valueChanged(double val); - void valueChanged(int val); - void valueChangedID(int id, double val); - void valueChangedID(int id, int val); -}; - -#endif // TOUCHSLIDER_H +/* + QAD - Qt ADvanced + + Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ + +#ifndef TOUCHSLIDER_H +#define TOUCHSLIDER_H + +#include +#include +#include "qad_export.h" + + +namespace Ui { + class TouchSlider; +} + + +class QAD_EXPORT TouchSlider: public QGroupBox +{ + Q_OBJECT + Q_PROPERTY(bool readOnly READ readOnly WRITE setReadOnly) + Q_PROPERTY(bool showMinMax READ showMinMax WRITE setShowMinMax) + Q_PROPERTY(double minimum READ minimum WRITE setMinimum) + Q_PROPERTY(double maximum READ maximum WRITE setMaximum) + Q_PROPERTY(double value READ value WRITE setValue) + Q_PROPERTY(double precision READ precision WRITE setPrecision) + Q_PROPERTY(QString prefix READ prefix WRITE setPrefix) + Q_PROPERTY(QString suffix READ suffix WRITE setSuffix) + Q_PROPERTY(int clickID READ clickID WRITE setClickID) + Q_PROPERTY(int setID READ setID WRITE setSetID) + +public: + explicit TouchSlider(QWidget *parent = 0); + ~TouchSlider(); + + int clickID() const {return id_click;} + int setID() const {return id_set;} + + double minimum() const; + double maximum() const; + double value() const; + double precision() const; + QString prefix() const {return pref;} + QString suffix() const {return suff;} + bool readOnly() const {return m_readOnly;} + bool showMinMax() const {return m_showMinMax;} + +private: + void updateCaption(); + + Ui::TouchSlider *ui; + bool hasZero; + bool m_readOnly; + bool m_showMinMax; + double prec; + int id_click, id_set; + QString pref, suff; + +public slots: + void enable() {setEnabled(true);} + void disable() {setEnabled(false);} + + void setClickID(int id) {id_click = id;} + void setSetID(int id) {id_set = id;} + + void setSuffix(const QString & text) {suff = text; updateCaption();} + void setPrefix(const QString & text) {pref = text; updateCaption();} + void setPrecision(double precision); + void setPrecision(int precision) {setPrecision((double)precision);} + void setMinimum(double min); + void setMinimum(int min) {setMinimum((double)min);} + void setMaximum(double max); + void setMaximum(int max) {setMaximum((double)max);} + void setReadOnly(bool yes); + void setShowMinMax(bool yes); + + void setValue(double val); + void setValue(int val) {setValue((double)val);} + + void enableID(int set_id) {if (set_id == id_set) enable();} + void disableID(int set_id) {if (set_id == id_set) disable();} + + void setValueID(int set_id, double val) {if (set_id == id_set) setValue(val);} + void setValueID(int set_id, int val) {if (set_id == id_set) setValue(val);} + + void clickMin() {on_pbMin_clicked();} + void clickMax() {on_pbMax_clicked();} + void clickInc() {on_pbInc_clicked();} + void clickDec() {on_pbDec_clicked();} + void clickZero() {on_pbZero_clicked();} + +private slots: + void on_barPos_valueChanged(int value); + void on_barNeg_valueChanged(int value); + void on_barNeg_mousePressEvent(QMouseEvent*); + void on_barPos_mousePressEvent(QMouseEvent*); + void on_barNeg_mouseMoveEvent(QMouseEvent*); + void on_barPos_mouseMoveEvent(QMouseEvent*); + void on_pbZero_clicked(); + void on_pbDec_clicked(); + void on_pbInc_clicked(); + void on_pbMax_clicked(); + void on_pbMin_clicked(); + +signals: + void valueChanged(double val); + void valueChanged(int val); + void valueChangedID(int id, double val); + void valueChangedID(int id, int val); +}; + +#endif // TOUCHSLIDER_H diff --git a/qad/touch_widgets/touchslider.ui b/qad/libs/touch_widgets/touchslider.ui similarity index 100% rename from qad/touch_widgets/touchslider.ui rename to qad/libs/touch_widgets/touchslider.ui diff --git a/qad/utils/CMakeLists.txt b/qad/libs/utils/CMakeLists.txt similarity index 97% rename from qad/utils/CMakeLists.txt rename to qad/libs/utils/CMakeLists.txt index c6c681c..d463392 100644 --- a/qad/utils/CMakeLists.txt +++ b/qad/libs/utils/CMakeLists.txt @@ -1 +1 @@ -qad_project(utils "Gui;Widgets" "") +qad_project(utils "Gui;Widgets" "") diff --git a/qad/utils/chunkstream.cpp b/qad/libs/utils/chunkstream.cpp similarity index 100% rename from qad/utils/chunkstream.cpp rename to qad/libs/utils/chunkstream.cpp diff --git a/qad/utils/chunkstream.h b/qad/libs/utils/chunkstream.h similarity index 100% rename from qad/utils/chunkstream.h rename to qad/libs/utils/chunkstream.h diff --git a/qad/utils/plugin/CMakeLists.txt b/qad/libs/utils/plugin/CMakeLists.txt similarity index 96% rename from qad/utils/plugin/CMakeLists.txt rename to qad/libs/utils/plugin/CMakeLists.txt index 283b630..77d80c6 100644 --- a/qad/utils/plugin/CMakeLists.txt +++ b/qad/libs/utils/plugin/CMakeLists.txt @@ -1 +1 @@ -qad_plugin(utils "Gui" "") +qad_plugin(utils "Gui" "") diff --git a/qad/utils/plugin/qad_utils.cpp b/qad/libs/utils/plugin/qad_utils.cpp similarity index 100% rename from qad/utils/plugin/qad_utils.cpp rename to qad/libs/utils/plugin/qad_utils.cpp diff --git a/qad/utils/plugin/qad_utils.h b/qad/libs/utils/plugin/qad_utils.h similarity index 100% rename from qad/utils/plugin/qad_utils.h rename to qad/libs/utils/plugin/qad_utils.h diff --git a/qad/utils/propertystorage.cpp b/qad/libs/utils/propertystorage.cpp similarity index 100% rename from qad/utils/propertystorage.cpp rename to qad/libs/utils/propertystorage.cpp diff --git a/qad/utils/propertystorage.h b/qad/libs/utils/propertystorage.h similarity index 100% rename from qad/utils/propertystorage.h rename to qad/libs/utils/propertystorage.h diff --git a/qad/utils/qad_locations.cpp b/qad/libs/utils/qad_locations.cpp similarity index 100% rename from qad/utils/qad_locations.cpp rename to qad/libs/utils/qad_locations.cpp diff --git a/qad/utils/qad_locations.h b/qad/libs/utils/qad_locations.h similarity index 100% rename from qad/utils/qad_locations.h rename to qad/libs/utils/qad_locations.h diff --git a/qad/utils/qad_types.cpp b/qad/libs/utils/qad_types.cpp similarity index 100% rename from qad/utils/qad_types.cpp rename to qad/libs/utils/qad_types.cpp diff --git a/qad/utils/qad_types.h b/qad/libs/utils/qad_types.h similarity index 100% rename from qad/utils/qad_types.h rename to qad/libs/utils/qad_types.h diff --git a/qad/libs/utils/qad_utils.qrc b/qad/libs/utils/qad_utils.qrc new file mode 100644 index 0000000..4df8988 --- /dev/null +++ b/qad/libs/utils/qad_utils.qrc @@ -0,0 +1,17 @@ + + + ../../icons/edit-clear.png + ../../icons/document-save.png + ../../icons/edit-clear-locationbar-rtl.png + ../../icons/edit-find.png + ../../icons/list-add.png + ../../icons/edit-delete.png + ../../icons/item-add.png + ../../icons/item.png + ../../icons/node-add.png + ../../icons/node.png + ../../icons/edit-copy.png + ../../icons/edit-paste.png + ../../icons/document-open_16.png + + diff --git a/qad/utils/qpiconfig.cpp b/qad/libs/utils/qpiconfig.cpp similarity index 100% rename from qad/utils/qpiconfig.cpp rename to qad/libs/utils/qpiconfig.cpp diff --git a/qad/utils/qpiconfig.h b/qad/libs/utils/qpiconfig.h similarity index 100% rename from qad/utils/qpiconfig.h rename to qad/libs/utils/qpiconfig.h diff --git a/qad/utils/qpievaluator.cpp b/qad/libs/utils/qpievaluator.cpp similarity index 100% rename from qad/utils/qpievaluator.cpp rename to qad/libs/utils/qpievaluator.cpp diff --git a/qad/utils/qpievaluator.h b/qad/libs/utils/qpievaluator.h similarity index 100% rename from qad/utils/qpievaluator.h rename to qad/libs/utils/qpievaluator.h diff --git a/qad/widgets/CMakeLists.txt b/qad/libs/widgets/CMakeLists.txt similarity index 97% rename from qad/widgets/CMakeLists.txt rename to qad/libs/widgets/CMakeLists.txt index 6d5872d..cec548c 100644 --- a/qad/widgets/CMakeLists.txt +++ b/qad/libs/widgets/CMakeLists.txt @@ -1 +1 @@ -qad_project(widgets "Gui;Widgets" "qad_utils") +qad_project(widgets "Gui;Widgets" "qad_utils") diff --git a/qad/widgets/chardialog.cpp b/qad/libs/widgets/chardialog.cpp similarity index 100% rename from qad/widgets/chardialog.cpp rename to qad/libs/widgets/chardialog.cpp diff --git a/qad/widgets/chardialog.h b/qad/libs/widgets/chardialog.h similarity index 100% rename from qad/widgets/chardialog.h rename to qad/libs/widgets/chardialog.h diff --git a/qad/widgets/chardialog.ui b/qad/libs/widgets/chardialog.ui similarity index 100% rename from qad/widgets/chardialog.ui rename to qad/libs/widgets/chardialog.ui diff --git a/qad/widgets/clineedit.cpp b/qad/libs/widgets/clineedit.cpp similarity index 100% rename from qad/widgets/clineedit.cpp rename to qad/libs/widgets/clineedit.cpp diff --git a/qad/widgets/clineedit.h b/qad/libs/widgets/clineedit.h similarity index 100% rename from qad/widgets/clineedit.h rename to qad/libs/widgets/clineedit.h diff --git a/qad/widgets/colorbutton.cpp b/qad/libs/widgets/colorbutton.cpp similarity index 100% rename from qad/widgets/colorbutton.cpp rename to qad/libs/widgets/colorbutton.cpp diff --git a/qad/widgets/colorbutton.h b/qad/libs/widgets/colorbutton.h similarity index 100% rename from qad/widgets/colorbutton.h rename to qad/libs/widgets/colorbutton.h diff --git a/qad/widgets/ecombobox.cpp b/qad/libs/widgets/ecombobox.cpp similarity index 100% rename from qad/widgets/ecombobox.cpp rename to qad/libs/widgets/ecombobox.cpp diff --git a/qad/widgets/ecombobox.h b/qad/libs/widgets/ecombobox.h similarity index 100% rename from qad/widgets/ecombobox.h rename to qad/libs/widgets/ecombobox.h diff --git a/qad/widgets/evalspinbox.cpp b/qad/libs/widgets/evalspinbox.cpp similarity index 100% rename from qad/widgets/evalspinbox.cpp rename to qad/libs/widgets/evalspinbox.cpp diff --git a/qad/widgets/evalspinbox.h b/qad/libs/widgets/evalspinbox.h similarity index 100% rename from qad/widgets/evalspinbox.h rename to qad/libs/widgets/evalspinbox.h diff --git a/qad/widgets/iconedlabel.cpp b/qad/libs/widgets/iconedlabel.cpp similarity index 95% rename from qad/widgets/iconedlabel.cpp rename to qad/libs/widgets/iconedlabel.cpp index 5d690a1..40bc52d 100644 --- a/qad/widgets/iconedlabel.cpp +++ b/qad/libs/widgets/iconedlabel.cpp @@ -1,93 +1,93 @@ -#include "iconedlabel.h" -#include "qad_types.h" -#include -#include -#include - - -IconedLabel::IconedLabel(QWidget * parent): QFrame(parent) { - label_.setAlignment(Qt::AlignCenter); - icon_.setAlignment(Qt::AlignCenter); - icon_.setScaledContents(true); - icon_.setHidden(true); - setIconSize(QSize()); - setDirection(RightToLeft); -} - - -QString IconedLabel::text() const { - return label_.text(); -} - - -QIcon IconedLabel::icon() const { -#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) - return icon_.pixmap(Qt::ReturnByValue).isNull() ? QIcon() : QIcon(icon_.pixmap(Qt::ReturnByValue)); -#else - return icon_.pixmap() == 0 ? QIcon() : QIcon(*icon_.pixmap()); -#endif -} - - -bool IconedLabel::event(QEvent * e) { - if (e->type() == QEvent::FontChange || e->type() == QEvent::Polish) - setIconSize(iconSize()); - return QFrame::event(e); -} - - -void IconedLabel::checkSpacing() { - label_.setHidden(label_.text().isEmpty()); - if (!layout()) return; - if (label_.isHidden() || icon_.isHidden()) { - layout()->setSpacing(0); - } else { - QStyle * s = style(); - if (s) - layout()->setSpacing(s->layoutSpacing(QSizePolicy::Label, QSizePolicy::Label, - dir_ <= Direction::RightToLeft ? Qt::Horizontal : Qt::Vertical)); - } -} - - -QSize IconedLabel::realIconSize() const { - return size_.isValid() ? size_ : preferredIconSize(1.f, this); -} - - -void IconedLabel::setText(const QString & t) { - label_.setText(t); - checkSpacing(); -} - - -void IconedLabel::setIcon(const QIcon & i) { - sicon_ = i; - setIconSize(iconSize()); - icon_.setHidden(icon().isNull()); - checkSpacing(); -} - - -void IconedLabel::setIconSize(const QSize & s) { - size_ = s; - QSize sz = realIconSize(); - icon_.setPixmap(sicon_.pixmap(sz)); - icon_.setFixedSize(sz); -} - - -void IconedLabel::setDirection(IconedLabel::Direction d) { - dir_ = d; - if (layout() != 0) - delete layout(); - QLayout * lay = new QBoxLayout((QBoxLayout::Direction)dir_); - lay->addItem(new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Expanding)); - lay->addWidget(&label_); - lay->addWidget(&icon_); - lay->addItem(new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Expanding)); - lay->setContentsMargins(0, 0, 0, 0); - setLayout(lay); - checkSpacing(); - update(); -} +#include "iconedlabel.h" +#include "qad_types.h" +#include +#include +#include + + +IconedLabel::IconedLabel(QWidget * parent): QFrame(parent) { + label_.setAlignment(Qt::AlignCenter); + icon_.setAlignment(Qt::AlignCenter); + icon_.setScaledContents(true); + icon_.setHidden(true); + setIconSize(QSize()); + setDirection(RightToLeft); +} + + +QString IconedLabel::text() const { + return label_.text(); +} + + +QIcon IconedLabel::icon() const { +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) + return icon_.pixmap(Qt::ReturnByValue).isNull() ? QIcon() : QIcon(icon_.pixmap(Qt::ReturnByValue)); +#else + return icon_.pixmap() == 0 ? QIcon() : QIcon(*icon_.pixmap()); +#endif +} + + +bool IconedLabel::event(QEvent * e) { + if (e->type() == QEvent::FontChange || e->type() == QEvent::Polish) + setIconSize(iconSize()); + return QFrame::event(e); +} + + +void IconedLabel::checkSpacing() { + label_.setHidden(label_.text().isEmpty()); + if (!layout()) return; + if (label_.isHidden() || icon_.isHidden()) { + layout()->setSpacing(0); + } else { + QStyle * s = style(); + if (s) + layout()->setSpacing(s->layoutSpacing(QSizePolicy::Label, QSizePolicy::Label, + dir_ <= Direction::RightToLeft ? Qt::Horizontal : Qt::Vertical)); + } +} + + +QSize IconedLabel::realIconSize() const { + return size_.isValid() ? size_ : preferredIconSize(1.f, this); +} + + +void IconedLabel::setText(const QString & t) { + label_.setText(t); + checkSpacing(); +} + + +void IconedLabel::setIcon(const QIcon & i) { + sicon_ = i; + setIconSize(iconSize()); + icon_.setHidden(icon().isNull()); + checkSpacing(); +} + + +void IconedLabel::setIconSize(const QSize & s) { + size_ = s; + QSize sz = realIconSize(); + icon_.setPixmap(sicon_.pixmap(sz)); + icon_.setFixedSize(sz); +} + + +void IconedLabel::setDirection(IconedLabel::Direction d) { + dir_ = d; + if (layout() != 0) + delete layout(); + QLayout * lay = new QBoxLayout((QBoxLayout::Direction)dir_); + lay->addItem(new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Expanding)); + lay->addWidget(&label_); + lay->addWidget(&icon_); + lay->addItem(new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Expanding)); + lay->setContentsMargins(0, 0, 0, 0); + setLayout(lay); + checkSpacing(); + update(); +} diff --git a/qad/widgets/iconedlabel.h b/qad/libs/widgets/iconedlabel.h similarity index 96% rename from qad/widgets/iconedlabel.h rename to qad/libs/widgets/iconedlabel.h index 01ad746..472aa6c 100644 --- a/qad/widgets/iconedlabel.h +++ b/qad/libs/widgets/iconedlabel.h @@ -1,68 +1,68 @@ -/* - QAD - Qt ADvanced - - Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . -*/ - -#ifndef ICONEDLABEL_H -#define ICONEDLABEL_H - -#include -#include -#include "qad_types.h" - - -class QAD_EXPORT IconedLabel: public QFrame -{ - Q_OBJECT - Q_ENUMS(Direction) - Q_PROPERTY(QString text READ text WRITE setText) - Q_PROPERTY(QIcon icon READ icon WRITE setIcon) - Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize) - Q_PROPERTY(Direction direction READ direction WRITE setDirection) -public: - enum Direction {LeftToRight = 0, RightToLeft = 1, TopToBottom = 2, BottomToTop = 3}; - - explicit IconedLabel(QWidget * parent = 0); - - QString text() const; - QIcon icon() const; - QSize iconSize() const {return size_;} - Direction direction() const {return dir_;} - - QLabel * textLabel() {return &label_;} - -protected: - virtual bool event(QEvent * e); - void checkSpacing(); - QSize realIconSize() const; - - QLabel label_, icon_; - QIcon sicon_; - QSize size_; - Direction dir_; - -public slots: - void setText(const QString & t); - void setIcon(const QIcon & i); - void setIconSize(const QSize & s); - void setDirection(Direction d); - -signals: - -}; - -#endif // ICONEDLABEL_H +/* + QAD - Qt ADvanced + + Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ + +#ifndef ICONEDLABEL_H +#define ICONEDLABEL_H + +#include +#include +#include "qad_types.h" + + +class QAD_EXPORT IconedLabel: public QFrame +{ + Q_OBJECT + Q_ENUMS(Direction) + Q_PROPERTY(QString text READ text WRITE setText) + Q_PROPERTY(QIcon icon READ icon WRITE setIcon) + Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize) + Q_PROPERTY(Direction direction READ direction WRITE setDirection) +public: + enum Direction {LeftToRight = 0, RightToLeft = 1, TopToBottom = 2, BottomToTop = 3}; + + explicit IconedLabel(QWidget * parent = 0); + + QString text() const; + QIcon icon() const; + QSize iconSize() const {return size_;} + Direction direction() const {return dir_;} + + QLabel * textLabel() {return &label_;} + +protected: + virtual bool event(QEvent * e); + void checkSpacing(); + QSize realIconSize() const; + + QLabel label_, icon_; + QIcon sicon_; + QSize size_; + Direction dir_; + +public slots: + void setText(const QString & t); + void setIcon(const QIcon & i); + void setIconSize(const QSize & s); + void setDirection(Direction d); + +signals: + +}; + +#endif // ICONEDLABEL_H diff --git a/qad/widgets/image_view.cpp b/qad/libs/widgets/image_view.cpp similarity index 95% rename from qad/widgets/image_view.cpp rename to qad/libs/widgets/image_view.cpp index 516dc22..d1a4539 100644 --- a/qad/widgets/image_view.cpp +++ b/qad/libs/widgets/image_view.cpp @@ -1,145 +1,145 @@ -#include "image_view.h" -#include -#include -#include -#include -#include -#include -#include - - -ImageView::ImageView(QWidget * parent): QGraphicsView(parent) { - setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - setDragMode(QGraphicsView::NoDrag); - setTransformationAnchor(QGraphicsView::AnchorUnderMouse); - setScene(new QGraphicsScene()); - setRenderHint(QPainter::Antialiasing, true); - setRenderHint(QPainter::SmoothPixmapTransform, true); - item.setTransformationMode(Qt::SmoothTransformation); - item.setFlags(QGraphicsItem::GraphicsItemFlags()); - scene()->addItem(&item); - viewport()->setAutoFillBackground(false); - viewport()->installEventFilter(this); - autofit_ = true; -} - - -ImageView::~ImageView() { -} - - -QPixmap ImageView::pixmap() const { - return map; -} - - -void ImageView::setPixmap(QPixmap pixmap) { - map = pixmap; - adjustView(); -} - - -void ImageView::setImage(const QImage & i) { - im_data.clear(); - if (i.isNull()) { - item.setPixmap(QPixmap()); - map = QPixmap(); - return; - } - QBuffer b(&im_data); b.open(QIODevice::ReadWrite); - i.save(&b, "png"); - b.close(); - map = QPixmap::fromImage(i); - adjustView(); -} - - -void ImageView::setImage(const QByteArray & i) { - im_data = i; - if (i.isEmpty()) { - item.setPixmap(QPixmap()); - map = QPixmap(); - return; - } - map = QPixmap::fromImage(QImage::fromData(i)); - adjustView(); -} - - -void ImageView::clear() { - im_data.clear(); - item.setPixmap(QPixmap()); - map = QPixmap(); -} - - -void ImageView::mouseDoubleClickEvent(QMouseEvent * e) { - autofit(); -} - - -void ImageView::mousePressEvent(QMouseEvent * e) { - QGraphicsView::mousePressEvent(e); - emit clicked(mapToScene(e->pos()), e->buttons()); -} - - -void ImageView::mouseMoveEvent(QMouseEvent * e) { - //if (e->buttons().testFlag(Qt::RightButton) && !autofit_ && isInteractive()) return;; - QGraphicsView::mouseMoveEvent(e); -} - - -//void ImageView::wheelEvent(QWheelEvent * e) { -// if (!e->modifiers().testFlag(Qt::ControlModifier) || !isInteractive()) return; -// double scl = 1. + e->delta() / 500.; -// //autofit_ = false; -// //scale(scl, scl); -//} - - -bool ImageView::eventFilter(QObject * o, QEvent * e) { - QMouseEvent * me = (QMouseEvent *)e; - switch (e->type()) { - case QEvent::Resize: - adjustView(); - break; - case QEvent::MouseButtonPress: - prev_pos = me->pos(); - break; - case QEvent::MouseMove: - if (!me->buttons().testFlag(Qt::RightButton) || autofit_ || !isInteractive()) break; - { - //double scl = 1. / qSqrt(transform().determinant()); - //QPointF dp = QPointF(me->pos() - prev_pos) * scl; - //qDebug() << dp; - //translate(0.00001, 0); - prev_pos = me->pos(); - } - break; - default: break; - } - return QGraphicsView::eventFilter(o, e); -} - - -void ImageView::adjustView() { - qreal mp = map.width() / map.size().boundedTo(size()).width(); - if (mp > 1) { - item.setPixmap(map.scaled(map.size()/mp, Qt::KeepAspectRatio, Qt::SmoothTransformation)); - } else { - item.setPixmap(map); - } - if (!autofit_) return; - setSceneRect(item.boundingRect()); - fitInView(&item, Qt::KeepAspectRatio); - centerOn(&item); - -} - - -void ImageView::autofit() { - autofit_ = true; - adjustView(); -} +#include "image_view.h" +#include +#include +#include +#include +#include +#include +#include + + +ImageView::ImageView(QWidget * parent): QGraphicsView(parent) { + setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + setDragMode(QGraphicsView::NoDrag); + setTransformationAnchor(QGraphicsView::AnchorUnderMouse); + setScene(new QGraphicsScene()); + setRenderHint(QPainter::Antialiasing, true); + setRenderHint(QPainter::SmoothPixmapTransform, true); + item.setTransformationMode(Qt::SmoothTransformation); + item.setFlags(QGraphicsItem::GraphicsItemFlags()); + scene()->addItem(&item); + viewport()->setAutoFillBackground(false); + viewport()->installEventFilter(this); + autofit_ = true; +} + + +ImageView::~ImageView() { +} + + +QPixmap ImageView::pixmap() const { + return map; +} + + +void ImageView::setPixmap(QPixmap pixmap) { + map = pixmap; + adjustView(); +} + + +void ImageView::setImage(const QImage & i) { + im_data.clear(); + if (i.isNull()) { + item.setPixmap(QPixmap()); + map = QPixmap(); + return; + } + QBuffer b(&im_data); b.open(QIODevice::ReadWrite); + i.save(&b, "png"); + b.close(); + map = QPixmap::fromImage(i); + adjustView(); +} + + +void ImageView::setImage(const QByteArray & i) { + im_data = i; + if (i.isEmpty()) { + item.setPixmap(QPixmap()); + map = QPixmap(); + return; + } + map = QPixmap::fromImage(QImage::fromData(i)); + adjustView(); +} + + +void ImageView::clear() { + im_data.clear(); + item.setPixmap(QPixmap()); + map = QPixmap(); +} + + +void ImageView::mouseDoubleClickEvent(QMouseEvent * e) { + autofit(); +} + + +void ImageView::mousePressEvent(QMouseEvent * e) { + QGraphicsView::mousePressEvent(e); + emit clicked(mapToScene(e->pos()), e->buttons()); +} + + +void ImageView::mouseMoveEvent(QMouseEvent * e) { + //if (e->buttons().testFlag(Qt::RightButton) && !autofit_ && isInteractive()) return;; + QGraphicsView::mouseMoveEvent(e); +} + + +//void ImageView::wheelEvent(QWheelEvent * e) { +// if (!e->modifiers().testFlag(Qt::ControlModifier) || !isInteractive()) return; +// double scl = 1. + e->delta() / 500.; +// //autofit_ = false; +// //scale(scl, scl); +//} + + +bool ImageView::eventFilter(QObject * o, QEvent * e) { + QMouseEvent * me = (QMouseEvent *)e; + switch (e->type()) { + case QEvent::Resize: + adjustView(); + break; + case QEvent::MouseButtonPress: + prev_pos = me->pos(); + break; + case QEvent::MouseMove: + if (!me->buttons().testFlag(Qt::RightButton) || autofit_ || !isInteractive()) break; + { + //double scl = 1. / qSqrt(transform().determinant()); + //QPointF dp = QPointF(me->pos() - prev_pos) * scl; + //qDebug() << dp; + //translate(0.00001, 0); + prev_pos = me->pos(); + } + break; + default: break; + } + return QGraphicsView::eventFilter(o, e); +} + + +void ImageView::adjustView() { + qreal mp = map.width() / map.size().boundedTo(size()).width(); + if (mp > 1) { + item.setPixmap(map.scaled(map.size()/mp, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + } else { + item.setPixmap(map); + } + if (!autofit_) return; + setSceneRect(item.boundingRect()); + fitInView(&item, Qt::KeepAspectRatio); + centerOn(&item); + +} + + +void ImageView::autofit() { + autofit_ = true; + adjustView(); +} diff --git a/qad/widgets/image_view.h b/qad/libs/widgets/image_view.h similarity index 96% rename from qad/widgets/image_view.h rename to qad/libs/widgets/image_view.h index dbed10d..00fe200 100644 --- a/qad/widgets/image_view.h +++ b/qad/libs/widgets/image_view.h @@ -1,67 +1,67 @@ -/* - QAD - Qt ADvanced - - Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program 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 Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . -*/ - -#ifndef IMAGE_VIEW_H -#define IMAGE_VIEW_H - -#include -#include -#include "qad_export.h" - - -class QAD_EXPORT ImageView: public QGraphicsView -{ - Q_OBJECT - Q_PROPERTY(QPixmap pixmap READ pixmap WRITE setPixmap) -public: - ImageView(QWidget * parent = 0); - ~ImageView(); - - void setImage(const QImage & i); - void setImage(const QByteArray & i); - QByteArray image() const {return im_data;} - QPixmap pixmap() const; - - void clear(); - -private: - void mouseDoubleClickEvent(QMouseEvent * e); - void mousePressEvent(QMouseEvent * e); - void mouseMoveEvent(QMouseEvent * e); -// void wheelEvent(QWheelEvent * e); - bool eventFilter(QObject * o, QEvent * e); - void adjustView(); - - QGraphicsPixmapItem item; - QByteArray im_data; - QPoint prev_pos; - bool autofit_; - QPixmap map; - - -public slots: - void autofit(); - void setPixmap(QPixmap pixmap); - -signals: - void clicked(QPointF, Qt::MouseButtons); - -}; - -#endif // IMAGE_VIEW_H +/* + QAD - Qt ADvanced + + Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program 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 Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ + +#ifndef IMAGE_VIEW_H +#define IMAGE_VIEW_H + +#include +#include +#include "qad_export.h" + + +class QAD_EXPORT ImageView: public QGraphicsView +{ + Q_OBJECT + Q_PROPERTY(QPixmap pixmap READ pixmap WRITE setPixmap) +public: + ImageView(QWidget * parent = 0); + ~ImageView(); + + void setImage(const QImage & i); + void setImage(const QByteArray & i); + QByteArray image() const {return im_data;} + QPixmap pixmap() const; + + void clear(); + +private: + void mouseDoubleClickEvent(QMouseEvent * e); + void mousePressEvent(QMouseEvent * e); + void mouseMoveEvent(QMouseEvent * e); +// void wheelEvent(QWheelEvent * e); + bool eventFilter(QObject * o, QEvent * e); + void adjustView(); + + QGraphicsPixmapItem item; + QByteArray im_data; + QPoint prev_pos; + bool autofit_; + QPixmap map; + + +public slots: + void autofit(); + void setPixmap(QPixmap pixmap); + +signals: + void clicked(QPointF, Qt::MouseButtons); + +}; + +#endif // IMAGE_VIEW_H diff --git a/qad/widgets/lang/qad_widgets_en.ts b/qad/libs/widgets/lang/qad_widgets_en.ts similarity index 100% rename from qad/widgets/lang/qad_widgets_en.ts rename to qad/libs/widgets/lang/qad_widgets_en.ts diff --git a/qad/widgets/lang/qad_widgets_ru.ts b/qad/libs/widgets/lang/qad_widgets_ru.ts similarity index 100% rename from qad/widgets/lang/qad_widgets_ru.ts rename to qad/libs/widgets/lang/qad_widgets_ru.ts diff --git a/qad/widgets/lang/update.bat b/qad/libs/widgets/lang/update.bat similarity index 100% rename from qad/widgets/lang/update.bat rename to qad/libs/widgets/lang/update.bat diff --git a/qad/widgets/mathmatrixedit.cpp b/qad/libs/widgets/mathmatrixedit.cpp similarity index 100% rename from qad/widgets/mathmatrixedit.cpp rename to qad/libs/widgets/mathmatrixedit.cpp diff --git a/qad/widgets/mathmatrixedit.h b/qad/libs/widgets/mathmatrixedit.h similarity index 100% rename from qad/widgets/mathmatrixedit.h rename to qad/libs/widgets/mathmatrixedit.h diff --git a/qad/widgets/mathvectoredit.cpp b/qad/libs/widgets/mathvectoredit.cpp similarity index 100% rename from qad/widgets/mathvectoredit.cpp rename to qad/libs/widgets/mathvectoredit.cpp diff --git a/qad/widgets/mathvectoredit.h b/qad/libs/widgets/mathvectoredit.h similarity index 100% rename from qad/widgets/mathvectoredit.h rename to qad/libs/widgets/mathvectoredit.h diff --git a/qad/widgets/matrixedit.cpp b/qad/libs/widgets/matrixedit.cpp similarity index 100% rename from qad/widgets/matrixedit.cpp rename to qad/libs/widgets/matrixedit.cpp diff --git a/qad/widgets/matrixedit.h b/qad/libs/widgets/matrixedit.h similarity index 100% rename from qad/widgets/matrixedit.h rename to qad/libs/widgets/matrixedit.h diff --git a/qad/widgets/matrixedit.ui b/qad/libs/widgets/matrixedit.ui similarity index 100% rename from qad/widgets/matrixedit.ui rename to qad/libs/widgets/matrixedit.ui diff --git a/qad/widgets/plugin/CMakeLists.txt b/qad/libs/widgets/plugin/CMakeLists.txt similarity index 97% rename from qad/widgets/plugin/CMakeLists.txt rename to qad/libs/widgets/plugin/CMakeLists.txt index 74db060..bd64a4d 100644 --- a/qad/widgets/plugin/CMakeLists.txt +++ b/qad/libs/widgets/plugin/CMakeLists.txt @@ -1 +1 @@ -qad_plugin(widgets "Gui;Widgets" "") +qad_plugin(widgets "Gui;Widgets" "") diff --git a/qad/widgets/plugin/chardialogplugin.cpp b/qad/libs/widgets/plugin/chardialogplugin.cpp similarity index 100% rename from qad/widgets/plugin/chardialogplugin.cpp rename to qad/libs/widgets/plugin/chardialogplugin.cpp diff --git a/qad/widgets/plugin/chardialogplugin.h b/qad/libs/widgets/plugin/chardialogplugin.h similarity index 100% rename from qad/widgets/plugin/chardialogplugin.h rename to qad/libs/widgets/plugin/chardialogplugin.h diff --git a/qad/widgets/plugin/clineeditplugin.cpp b/qad/libs/widgets/plugin/clineeditplugin.cpp similarity index 100% rename from qad/widgets/plugin/clineeditplugin.cpp rename to qad/libs/widgets/plugin/clineeditplugin.cpp diff --git a/qad/widgets/plugin/clineeditplugin.h b/qad/libs/widgets/plugin/clineeditplugin.h similarity index 100% rename from qad/widgets/plugin/clineeditplugin.h rename to qad/libs/widgets/plugin/clineeditplugin.h diff --git a/qad/widgets/plugin/colorbuttonplugin.cpp b/qad/libs/widgets/plugin/colorbuttonplugin.cpp similarity index 100% rename from qad/widgets/plugin/colorbuttonplugin.cpp rename to qad/libs/widgets/plugin/colorbuttonplugin.cpp diff --git a/qad/widgets/plugin/colorbuttonplugin.h b/qad/libs/widgets/plugin/colorbuttonplugin.h similarity index 100% rename from qad/widgets/plugin/colorbuttonplugin.h rename to qad/libs/widgets/plugin/colorbuttonplugin.h diff --git a/qad/widgets/plugin/ecomboboxplugin.cpp b/qad/libs/widgets/plugin/ecomboboxplugin.cpp similarity index 100% rename from qad/widgets/plugin/ecomboboxplugin.cpp rename to qad/libs/widgets/plugin/ecomboboxplugin.cpp diff --git a/qad/widgets/plugin/ecomboboxplugin.h b/qad/libs/widgets/plugin/ecomboboxplugin.h similarity index 100% rename from qad/widgets/plugin/ecomboboxplugin.h rename to qad/libs/widgets/plugin/ecomboboxplugin.h diff --git a/qad/widgets/plugin/evalspinboxplugin.cpp b/qad/libs/widgets/plugin/evalspinboxplugin.cpp similarity index 100% rename from qad/widgets/plugin/evalspinboxplugin.cpp rename to qad/libs/widgets/plugin/evalspinboxplugin.cpp diff --git a/qad/widgets/plugin/evalspinboxplugin.h b/qad/libs/widgets/plugin/evalspinboxplugin.h similarity index 100% rename from qad/widgets/plugin/evalspinboxplugin.h rename to qad/libs/widgets/plugin/evalspinboxplugin.h diff --git a/qad/widgets/plugin/iconedlabelplugin.h b/qad/libs/widgets/plugin/iconedlabelplugin.h similarity index 100% rename from qad/widgets/plugin/iconedlabelplugin.h rename to qad/libs/widgets/plugin/iconedlabelplugin.h diff --git a/qad/widgets/plugin/imageviewplugin.cpp b/qad/libs/widgets/plugin/imageviewplugin.cpp similarity index 100% rename from qad/widgets/plugin/imageviewplugin.cpp rename to qad/libs/widgets/plugin/imageviewplugin.cpp diff --git a/qad/widgets/plugin/imageviewplugin.h b/qad/libs/widgets/plugin/imageviewplugin.h similarity index 100% rename from qad/widgets/plugin/imageviewplugin.h rename to qad/libs/widgets/plugin/imageviewplugin.h diff --git a/qad/widgets/plugin/lconedlabelplugin.cpp b/qad/libs/widgets/plugin/lconedlabelplugin.cpp similarity index 100% rename from qad/widgets/plugin/lconedlabelplugin.cpp rename to qad/libs/widgets/plugin/lconedlabelplugin.cpp diff --git a/qad/widgets/plugin/qad_widgets.cpp b/qad/libs/widgets/plugin/qad_widgets.cpp similarity index 100% rename from qad/widgets/plugin/qad_widgets.cpp rename to qad/libs/widgets/plugin/qad_widgets.cpp diff --git a/qad/widgets/plugin/qad_widgets.h b/qad/libs/widgets/plugin/qad_widgets.h similarity index 100% rename from qad/widgets/plugin/qad_widgets.h rename to qad/libs/widgets/plugin/qad_widgets.h diff --git a/qad/widgets/plugin/qcodeeditplugin.cpp b/qad/libs/widgets/plugin/qcodeeditplugin.cpp similarity index 100% rename from qad/widgets/plugin/qcodeeditplugin.cpp rename to qad/libs/widgets/plugin/qcodeeditplugin.cpp diff --git a/qad/widgets/plugin/qcodeeditplugin.h b/qad/libs/widgets/plugin/qcodeeditplugin.h similarity index 100% rename from qad/widgets/plugin/qcodeeditplugin.h rename to qad/libs/widgets/plugin/qcodeeditplugin.h diff --git a/qad/widgets/plugin/qipeditplugin.cpp b/qad/libs/widgets/plugin/qipeditplugin.cpp similarity index 100% rename from qad/widgets/plugin/qipeditplugin.cpp rename to qad/libs/widgets/plugin/qipeditplugin.cpp diff --git a/qad/widgets/plugin/qipeditplugin.h b/qad/libs/widgets/plugin/qipeditplugin.h similarity index 100% rename from qad/widgets/plugin/qipeditplugin.h rename to qad/libs/widgets/plugin/qipeditplugin.h diff --git a/qad/widgets/plugin/qpiconfigplugin.cpp b/qad/libs/widgets/plugin/qpiconfigplugin.cpp similarity index 100% rename from qad/widgets/plugin/qpiconfigplugin.cpp rename to qad/libs/widgets/plugin/qpiconfigplugin.cpp diff --git a/qad/widgets/plugin/qpiconfigplugin.h b/qad/libs/widgets/plugin/qpiconfigplugin.h similarity index 100% rename from qad/widgets/plugin/qpiconfigplugin.h rename to qad/libs/widgets/plugin/qpiconfigplugin.h diff --git a/qad/widgets/plugin/qpiconsoleplugin.cpp b/qad/libs/widgets/plugin/qpiconsoleplugin.cpp similarity index 100% rename from qad/widgets/plugin/qpiconsoleplugin.cpp rename to qad/libs/widgets/plugin/qpiconsoleplugin.cpp diff --git a/qad/widgets/plugin/qpiconsoleplugin.h b/qad/libs/widgets/plugin/qpiconsoleplugin.h similarity index 100% rename from qad/widgets/plugin/qpiconsoleplugin.h rename to qad/libs/widgets/plugin/qpiconsoleplugin.h diff --git a/qad/widgets/plugin/qpointeditplugin.cpp b/qad/libs/widgets/plugin/qpointeditplugin.cpp similarity index 100% rename from qad/widgets/plugin/qpointeditplugin.cpp rename to qad/libs/widgets/plugin/qpointeditplugin.cpp diff --git a/qad/widgets/plugin/qpointeditplugin.h b/qad/libs/widgets/plugin/qpointeditplugin.h similarity index 100% rename from qad/widgets/plugin/qpointeditplugin.h rename to qad/libs/widgets/plugin/qpointeditplugin.h diff --git a/qad/widgets/plugin/qrecteditplugin.cpp b/qad/libs/widgets/plugin/qrecteditplugin.cpp similarity index 100% rename from qad/widgets/plugin/qrecteditplugin.cpp rename to qad/libs/widgets/plugin/qrecteditplugin.cpp diff --git a/qad/widgets/plugin/qrecteditplugin.h b/qad/libs/widgets/plugin/qrecteditplugin.h similarity index 100% rename from qad/widgets/plugin/qrecteditplugin.h rename to qad/libs/widgets/plugin/qrecteditplugin.h diff --git a/qad/widgets/plugin/qvarianteditplugin.cpp b/qad/libs/widgets/plugin/qvarianteditplugin.cpp similarity index 100% rename from qad/widgets/plugin/qvarianteditplugin.cpp rename to qad/libs/widgets/plugin/qvarianteditplugin.cpp diff --git a/qad/widgets/plugin/qvarianteditplugin.h b/qad/libs/widgets/plugin/qvarianteditplugin.h similarity index 100% rename from qad/widgets/plugin/qvarianteditplugin.h rename to qad/libs/widgets/plugin/qvarianteditplugin.h diff --git a/qad/widgets/plugin/scroll_spin_boxplugin.cpp b/qad/libs/widgets/plugin/scroll_spin_boxplugin.cpp similarity index 100% rename from qad/widgets/plugin/scroll_spin_boxplugin.cpp rename to qad/libs/widgets/plugin/scroll_spin_boxplugin.cpp diff --git a/qad/widgets/plugin/scroll_spin_boxplugin.h b/qad/libs/widgets/plugin/scroll_spin_boxplugin.h similarity index 100% rename from qad/widgets/plugin/scroll_spin_boxplugin.h rename to qad/libs/widgets/plugin/scroll_spin_boxplugin.h diff --git a/qad/widgets/plugin/shortcutsplugin.cpp b/qad/libs/widgets/plugin/shortcutsplugin.cpp similarity index 100% rename from qad/widgets/plugin/shortcutsplugin.cpp rename to qad/libs/widgets/plugin/shortcutsplugin.cpp diff --git a/qad/widgets/plugin/shortcutsplugin.h b/qad/libs/widgets/plugin/shortcutsplugin.h similarity index 100% rename from qad/widgets/plugin/shortcutsplugin.h rename to qad/libs/widgets/plugin/shortcutsplugin.h diff --git a/qad/widgets/plugin/spinsliderplugin.cpp b/qad/libs/widgets/plugin/spinsliderplugin.cpp similarity index 100% rename from qad/widgets/plugin/spinsliderplugin.cpp rename to qad/libs/widgets/plugin/spinsliderplugin.cpp diff --git a/qad/widgets/plugin/spinsliderplugin.h b/qad/libs/widgets/plugin/spinsliderplugin.h similarity index 100% rename from qad/widgets/plugin/spinsliderplugin.h rename to qad/libs/widgets/plugin/spinsliderplugin.h diff --git a/qad/widgets/propertystorage_editor.cpp b/qad/libs/widgets/propertystorage_editor.cpp similarity index 100% rename from qad/widgets/propertystorage_editor.cpp rename to qad/libs/widgets/propertystorage_editor.cpp diff --git a/qad/widgets/propertystorage_editor.h b/qad/libs/widgets/propertystorage_editor.h similarity index 100% rename from qad/widgets/propertystorage_editor.h rename to qad/libs/widgets/propertystorage_editor.h diff --git a/qad/libs/widgets/qad_widgets.qrc b/qad/libs/widgets/qad_widgets.qrc new file mode 100644 index 0000000..50d5263 --- /dev/null +++ b/qad/libs/widgets/qad_widgets.qrc @@ -0,0 +1,46 @@ + + + ../../icons/go-next.png + ../../icons/go-previous.png + ../../icons/dialog-close.png + ../../icons/edit-clear.png + ../../icons/edit-guides.png + ../../icons/view-grid.png + ../../icons/zoom-fit-best.png + ../../icons/configure.png + ../../icons/alpha.png + ../../icons/document-save.png + ../../icons/edit-clear-locationbar-rtl.png + ../../icons/edit-find.png + ../../icons/list-add.png + ../../icons/edit-delete.png + ../../icons/item-add.png + ../../icons/item.png + ../../icons/node-add.png + ../../icons/node.png + ../../icons/edit-copy.png + ../../icons/edit-paste.png + ../../icons/expand_s_x.png + ../../icons/expand_s_y.png + ../../icons/expand_x.png + ../../icons/expand_y.png + ../../icons/border-line.png + ../../icons/legend.png + ../../icons/chardialog.png + ../../icons/clineedit.png + ../../icons/colorbutton.png + ../../icons/ecombobox.png + ../../icons/qpiconsole.png + ../../icons/spinslider.png + ../../icons/etabwidget.png + ../../icons/qcodeedit.png + ../../icons/qvariantedit.png + ../../icons/code-word.png + ../../icons/f1.png + ../../icons/dialog-ok-apply.png + ../../icons/dialog-warning.png + ../../icons/tools-wizard.png + ../../icons/evalspinbox.png + ../../icons/scroll_spin.png + + diff --git a/qad/widgets/qcodeedit.cpp b/qad/libs/widgets/qcodeedit.cpp similarity index 100% rename from qad/widgets/qcodeedit.cpp rename to qad/libs/widgets/qcodeedit.cpp diff --git a/qad/widgets/qcodeedit.h b/qad/libs/widgets/qcodeedit.h similarity index 100% rename from qad/widgets/qcodeedit.h rename to qad/libs/widgets/qcodeedit.h diff --git a/qad/widgets/qcodeedit.ui b/qad/libs/widgets/qcodeedit.ui similarity index 100% rename from qad/widgets/qcodeedit.ui rename to qad/libs/widgets/qcodeedit.ui diff --git a/qad/widgets/qipedit.cpp b/qad/libs/widgets/qipedit.cpp similarity index 100% rename from qad/widgets/qipedit.cpp rename to qad/libs/widgets/qipedit.cpp diff --git a/qad/widgets/qipedit.h b/qad/libs/widgets/qipedit.h similarity index 100% rename from qad/widgets/qipedit.h rename to qad/libs/widgets/qipedit.h diff --git a/qad/widgets/qpiconfignewdialog.cpp b/qad/libs/widgets/qpiconfignewdialog.cpp similarity index 100% rename from qad/widgets/qpiconfignewdialog.cpp rename to qad/libs/widgets/qpiconfignewdialog.cpp diff --git a/qad/widgets/qpiconfignewdialog.h b/qad/libs/widgets/qpiconfignewdialog.h similarity index 100% rename from qad/widgets/qpiconfignewdialog.h rename to qad/libs/widgets/qpiconfignewdialog.h diff --git a/qad/widgets/qpiconfignewdialog.ui b/qad/libs/widgets/qpiconfignewdialog.ui similarity index 100% rename from qad/widgets/qpiconfignewdialog.ui rename to qad/libs/widgets/qpiconfignewdialog.ui diff --git a/qad/widgets/qpiconfigvaluewidget.cpp b/qad/libs/widgets/qpiconfigvaluewidget.cpp similarity index 100% rename from qad/widgets/qpiconfigvaluewidget.cpp rename to qad/libs/widgets/qpiconfigvaluewidget.cpp diff --git a/qad/widgets/qpiconfigvaluewidget.h b/qad/libs/widgets/qpiconfigvaluewidget.h similarity index 100% rename from qad/widgets/qpiconfigvaluewidget.h rename to qad/libs/widgets/qpiconfigvaluewidget.h diff --git a/qad/widgets/qpiconfigwidget.cpp b/qad/libs/widgets/qpiconfigwidget.cpp similarity index 100% rename from qad/widgets/qpiconfigwidget.cpp rename to qad/libs/widgets/qpiconfigwidget.cpp diff --git a/qad/widgets/qpiconfigwidget.h b/qad/libs/widgets/qpiconfigwidget.h similarity index 100% rename from qad/widgets/qpiconfigwidget.h rename to qad/libs/widgets/qpiconfigwidget.h diff --git a/qad/widgets/qpiconsole.cpp b/qad/libs/widgets/qpiconsole.cpp similarity index 100% rename from qad/widgets/qpiconsole.cpp rename to qad/libs/widgets/qpiconsole.cpp diff --git a/qad/widgets/qpiconsole.h b/qad/libs/widgets/qpiconsole.h similarity index 100% rename from qad/widgets/qpiconsole.h rename to qad/libs/widgets/qpiconsole.h diff --git a/qad/widgets/qpointedit.cpp b/qad/libs/widgets/qpointedit.cpp similarity index 100% rename from qad/widgets/qpointedit.cpp rename to qad/libs/widgets/qpointedit.cpp diff --git a/qad/widgets/qpointedit.h b/qad/libs/widgets/qpointedit.h similarity index 100% rename from qad/widgets/qpointedit.h rename to qad/libs/widgets/qpointedit.h diff --git a/qad/widgets/qrectedit.cpp b/qad/libs/widgets/qrectedit.cpp similarity index 100% rename from qad/widgets/qrectedit.cpp rename to qad/libs/widgets/qrectedit.cpp diff --git a/qad/widgets/qrectedit.h b/qad/libs/widgets/qrectedit.h similarity index 100% rename from qad/widgets/qrectedit.h rename to qad/libs/widgets/qrectedit.h diff --git a/qad/widgets/qvariantedit.cpp b/qad/libs/widgets/qvariantedit.cpp similarity index 100% rename from qad/widgets/qvariantedit.cpp rename to qad/libs/widgets/qvariantedit.cpp diff --git a/qad/widgets/qvariantedit.h b/qad/libs/widgets/qvariantedit.h similarity index 100% rename from qad/widgets/qvariantedit.h rename to qad/libs/widgets/qvariantedit.h diff --git a/qad/widgets/qvariantedit_custom.cpp b/qad/libs/widgets/qvariantedit_custom.cpp similarity index 100% rename from qad/widgets/qvariantedit_custom.cpp rename to qad/libs/widgets/qvariantedit_custom.cpp diff --git a/qad/widgets/qvariantedit_custom.h b/qad/libs/widgets/qvariantedit_custom.h similarity index 100% rename from qad/widgets/qvariantedit_custom.h rename to qad/libs/widgets/qvariantedit_custom.h diff --git a/qad/widgets/scroll_spin_box.cpp b/qad/libs/widgets/scroll_spin_box.cpp similarity index 100% rename from qad/widgets/scroll_spin_box.cpp rename to qad/libs/widgets/scroll_spin_box.cpp diff --git a/qad/widgets/scroll_spin_box.h b/qad/libs/widgets/scroll_spin_box.h similarity index 100% rename from qad/widgets/scroll_spin_box.h rename to qad/libs/widgets/scroll_spin_box.h diff --git a/qad/widgets/scroll_spin_box.ui b/qad/libs/widgets/scroll_spin_box.ui similarity index 100% rename from qad/widgets/scroll_spin_box.ui rename to qad/libs/widgets/scroll_spin_box.ui diff --git a/qad/widgets/session_manager.cpp b/qad/libs/widgets/session_manager.cpp similarity index 100% rename from qad/widgets/session_manager.cpp rename to qad/libs/widgets/session_manager.cpp diff --git a/qad/widgets/session_manager.h b/qad/libs/widgets/session_manager.h similarity index 100% rename from qad/widgets/session_manager.h rename to qad/libs/widgets/session_manager.h diff --git a/qad/widgets/shortcuts.cpp b/qad/libs/widgets/shortcuts.cpp similarity index 100% rename from qad/widgets/shortcuts.cpp rename to qad/libs/widgets/shortcuts.cpp diff --git a/qad/widgets/shortcuts.h b/qad/libs/widgets/shortcuts.h similarity index 100% rename from qad/widgets/shortcuts.h rename to qad/libs/widgets/shortcuts.h diff --git a/qad/widgets/spinslider.cpp b/qad/libs/widgets/spinslider.cpp similarity index 100% rename from qad/widgets/spinslider.cpp rename to qad/libs/widgets/spinslider.cpp diff --git a/qad/widgets/spinslider.h b/qad/libs/widgets/spinslider.h similarity index 100% rename from qad/widgets/spinslider.h rename to qad/libs/widgets/spinslider.h diff --git a/qad/sql_table/qad_sql_table.qrc b/qad/sql_table/qad_sql_table.qrc deleted file mode 100644 index b1caabc..0000000 --- a/qad/sql_table/qad_sql_table.qrc +++ /dev/null @@ -1,26 +0,0 @@ - - - ../icons/edit-table-insert-row-below.png - ../icons/dialog-close.png - ../icons/edit-clear.png - ../icons/edit-guides.png - ../icons/view-grid.png - ../icons/zoom-fit-best.png - ../icons/configure.png - ../icons/document-save.png - ../icons/edit-clear-locationbar-rtl.png - ../icons/edit-find.png - ../icons/list-add.png - ../icons/edit-delete.png - ../icons/item.png - ../icons/node-add.png - ../icons/node.png - ../icons/edit-copy.png - ../icons/edit-paste.png - ../icons/expand_s_x.png - ../icons/expand_s_y.png - ../icons/expand_x.png - ../icons/expand_y.png - ../icons/sql_table.png - - diff --git a/qad/touch_widgets/touch_widgets.qrc b/qad/touch_widgets/touch_widgets.qrc deleted file mode 100644 index cfb77f1..0000000 --- a/qad/touch_widgets/touch_widgets.qrc +++ /dev/null @@ -1,7 +0,0 @@ - - - ../icons/touchbuttframe.png - ../icons/touchbutton.png - ../icons/touchslider.png - - diff --git a/qad/blockview/blockeditor/CMakeLists.txt b/qad/utils/blockeditor/CMakeLists.txt similarity index 97% rename from qad/blockview/blockeditor/CMakeLists.txt rename to qad/utils/blockeditor/CMakeLists.txt index d69d9d8..dd271c4 100644 --- a/qad/blockview/blockeditor/CMakeLists.txt +++ b/qad/utils/blockeditor/CMakeLists.txt @@ -1,42 +1,42 @@ -project(blockeditor) -import_version(${PROJECT_NAME} QAD) -find_qt(${QtVersions} Core Gui Widgets) -if (Qt5_FOUND) - import_version(${PROJECT_NAME}5 ${PROJECT_NAME}) - import_deploy_properties(${PROJECT_NAME}5 ${PROJECT_NAME}) -endif() -set_deploy_property(${PROJECT_NAME} - LABEL ${PROJECT_NAME} - FULLNAME "${_QAD_DOMAIN}.${PROJECT_NAME}" - COMPANY ${_QAD_COMPANY} - INFO "Editor for BlockView Blocks") -if(APPLE) - #set_deploy_property(${PROJECT_NAME} ICON "icons/blockview.icns") -elseif(WIN32) - set_deploy_property(${PROJECT_NAME} ICON "icons/blockview.ico") -else() - set_deploy_property(${PROJECT_NAME} ICON "icons/blockview.png") -endif() -make_rc(${PROJECT_NAME} out_RC) -qt_sources(SRC) -qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS out_QM) -qt_add_executable(${PROJECT_NAME} WIN32 out_CPP ${out_RC}) -qt_target_link_libraries(${PROJECT_NAME} qad_utils qad_widgets qad_blockview) -message(STATUS "Building ${PROJECT_NAME}") -if(LIB) - if(WIN32) - qt_install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN}) - else() - if (DEFINED ANDROID_PLATFORM) - qt_install(TARGETS ${PROJECT_NAME} DESTINATION ${ANDROID_SYSTEM_LIBRARY_PATH}/usr/bin) - else() - qt_install(TARGETS ${PROJECT_NAME} DESTINATION /usr/local/bin) - endif() - endif() - #message(STATUS "Install ${PROJECT_NAME} to system \"${CMAKE_INSTALL_PREFIX}\"") -else() - qt_install(TARGETS ${PROJECT_NAME} DESTINATION bin) -endif() -if (Qt5_FOUND) - deploy_target(${PROJECT_NAME}5 VERBOSE DEPLOY_DIR ${CMAKE_CURRENT_BINARY_DIR} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../release) -endif() +project(blockeditor) +import_version(${PROJECT_NAME} QAD) +find_qt(${QtVersions} Core Gui Widgets) +if (Qt5_FOUND) + import_version(${PROJECT_NAME}5 ${PROJECT_NAME}) + import_deploy_properties(${PROJECT_NAME}5 ${PROJECT_NAME}) +endif() +set_deploy_property(${PROJECT_NAME} + LABEL ${PROJECT_NAME} + FULLNAME "${_QAD_DOMAIN}.${PROJECT_NAME}" + COMPANY ${_QAD_COMPANY} + INFO "Editor for BlockView Blocks") +if(APPLE) + #set_deploy_property(${PROJECT_NAME} ICON "icons/blockview.icns") +elseif(WIN32) + set_deploy_property(${PROJECT_NAME} ICON "icons/blockview.ico") +else() + set_deploy_property(${PROJECT_NAME} ICON "icons/blockview.png") +endif() +make_rc(${PROJECT_NAME} out_RC) +qt_sources(SRC) +qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS out_QM) +qt_add_executable(${PROJECT_NAME} WIN32 out_CPP ${out_RC}) +qt_target_link_libraries(${PROJECT_NAME} qad_utils qad_widgets qad_blockview) +message(STATUS "Building ${PROJECT_NAME}") +if(LIB) + if(WIN32) + qt_install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN}) + else() + if (DEFINED ANDROID_PLATFORM) + qt_install(TARGETS ${PROJECT_NAME} DESTINATION ${ANDROID_SYSTEM_LIBRARY_PATH}/usr/bin) + else() + qt_install(TARGETS ${PROJECT_NAME} DESTINATION /usr/local/bin) + endif() + endif() + #message(STATUS "Install ${PROJECT_NAME} to system \"${CMAKE_INSTALL_PREFIX}\"") +else() + qt_install(TARGETS ${PROJECT_NAME} DESTINATION bin) +endif() +if (Qt5_FOUND) + deploy_target(${PROJECT_NAME}5 VERBOSE DEPLOY_DIR ${CMAKE_CURRENT_BINARY_DIR} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../release) +endif() diff --git a/qad/blockview/blockeditor/blockeditor_main.cpp b/qad/utils/blockeditor/blockeditor_main.cpp similarity index 95% rename from qad/blockview/blockeditor/blockeditor_main.cpp rename to qad/utils/blockeditor/blockeditor_main.cpp index 0a6a3a7..bf103af 100644 --- a/qad/blockview/blockeditor/blockeditor_main.cpp +++ b/qad/utils/blockeditor/blockeditor_main.cpp @@ -1,16 +1,16 @@ -#include -#include "blockeditor.h" - - -int main(int argc, char * argv[]) { - QApplication a(argc, argv); -#if QT_VERSION >= 0x050000 - a.setAttribute(Qt::AA_UseHighDpiPixmaps, true); -#endif - a.setWindowIcon(QIcon(":/icons/blockview.png")); - BlockEditor w; - if (a.arguments().size() > 1) - w.loadFile(a.arguments().back()); - w.show(); - return a.exec(); -} +#include +#include "blockeditor.h" + + +int main(int argc, char * argv[]) { + QApplication a(argc, argv); +#if QT_VERSION >= 0x050000 + a.setAttribute(Qt::AA_UseHighDpiPixmaps, true); +#endif + a.setWindowIcon(QIcon(":/icons/blockview.png")); + BlockEditor w; + if (a.arguments().size() > 1) + w.loadFile(a.arguments().back()); + w.show(); + return a.exec(); +} diff --git a/qad/blockview/blockeditor/icons/blockview.ico b/qad/utils/blockeditor/icons/blockview.ico similarity index 100% rename from qad/blockview/blockeditor/icons/blockview.ico rename to qad/utils/blockeditor/icons/blockview.ico diff --git a/qad/blockview/blockeditor/icons/blockview.png b/qad/utils/blockeditor/icons/blockview.png similarity index 100% rename from qad/blockview/blockeditor/icons/blockview.png rename to qad/utils/blockeditor/icons/blockview.png diff --git a/qad/utils/qad_utils.qrc b/qad/utils/qad_utils.qrc deleted file mode 100644 index 12a8c2d..0000000 --- a/qad/utils/qad_utils.qrc +++ /dev/null @@ -1,17 +0,0 @@ - - - ../icons/edit-clear.png - ../icons/document-save.png - ../icons/edit-clear-locationbar-rtl.png - ../icons/edit-find.png - ../icons/list-add.png - ../icons/edit-delete.png - ../icons/item-add.png - ../icons/item.png - ../icons/node-add.png - ../icons/node.png - ../icons/edit-copy.png - ../icons/edit-paste.png - ../icons/document-open_16.png - - diff --git a/qad/graphic/qpicalculator/CMakeLists.txt b/qad/utils/qpicalculator/CMakeLists.txt similarity index 97% rename from qad/graphic/qpicalculator/CMakeLists.txt rename to qad/utils/qpicalculator/CMakeLists.txt index 8fc0ca6..34db325 100644 --- a/qad/graphic/qpicalculator/CMakeLists.txt +++ b/qad/utils/qpicalculator/CMakeLists.txt @@ -1,23 +1,23 @@ -project(qpicalc) -find_qt(${QtVersions} Core Gui Widgets) -qt_sources(SRC) -qt_wrap(${SRC} CPPS out_CPP QMS out_QM) -qt_add_executable(${PROJECT_NAME} WIN32 out_CPP) -qt_target_link_libraries(${PROJECT_NAME} qad_utils qad_widgets qad_graphic) -message(STATUS "Building ${PROJECT_NAME}") -if(LIB) - if(WIN32) - qt_install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN}) - else() - if (DEFINED ANDROID_PLATFORM) - qt_install(TARGETS ${PROJECT_NAME} DESTINATION ${ANDROID_SYSTEM_LIBRARY_PATH}/usr/bin) - else() - qt_install(TARGETS ${PROJECT_NAME} DESTINATION /usr/local/bin) - endif() - endif() - #message(STATUS "Install ${PROJECT_NAME} to system \"${CMAKE_INSTALL_PREFIX}\"") -else() - qt_install(TARGETS ${PROJECT_NAME} DESTINATION bin) - #message(STATUS "Install ${PROJECT_NAME} to local \"bin\"") -endif() - +project(qpicalc) +find_qt(${QtVersions} Core Gui Widgets) +qt_sources(SRC) +qt_wrap(${SRC} CPPS out_CPP QMS out_QM) +qt_add_executable(${PROJECT_NAME} WIN32 out_CPP) +qt_target_link_libraries(${PROJECT_NAME} qad_utils qad_widgets qad_graphic) +message(STATUS "Building ${PROJECT_NAME}") +if(LIB) + if(WIN32) + qt_install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN}) + else() + if (DEFINED ANDROID_PLATFORM) + qt_install(TARGETS ${PROJECT_NAME} DESTINATION ${ANDROID_SYSTEM_LIBRARY_PATH}/usr/bin) + else() + qt_install(TARGETS ${PROJECT_NAME} DESTINATION /usr/local/bin) + endif() + endif() + #message(STATUS "Install ${PROJECT_NAME} to system \"${CMAKE_INSTALL_PREFIX}\"") +else() + qt_install(TARGETS ${PROJECT_NAME} DESTINATION bin) + #message(STATUS "Install ${PROJECT_NAME} to local \"bin\"") +endif() + diff --git a/qad/graphic/qpicalculator/icons/Apps-accessories-calculator-icon.png b/qad/utils/qpicalculator/icons/Apps-accessories-calculator-icon.png similarity index 100% rename from qad/graphic/qpicalculator/icons/Apps-accessories-calculator-icon.png rename to qad/utils/qpicalculator/icons/Apps-accessories-calculator-icon.png diff --git a/qad/graphic/qpicalculator/icons/application-exit.png b/qad/utils/qpicalculator/icons/application-exit.png similarity index 100% rename from qad/graphic/qpicalculator/icons/application-exit.png rename to qad/utils/qpicalculator/icons/application-exit.png diff --git a/qad/graphic/qpicalculator/icons/arrow-left.png b/qad/utils/qpicalculator/icons/arrow-left.png similarity index 100% rename from qad/graphic/qpicalculator/icons/arrow-left.png rename to qad/utils/qpicalculator/icons/arrow-left.png diff --git a/qad/graphic/qpicalculator/icons/arrow-right.png b/qad/utils/qpicalculator/icons/arrow-right.png similarity index 100% rename from qad/graphic/qpicalculator/icons/arrow-right.png rename to qad/utils/qpicalculator/icons/arrow-right.png diff --git a/qad/graphic/qpicalculator/icons/axes.png b/qad/utils/qpicalculator/icons/axes.png similarity index 100% rename from qad/graphic/qpicalculator/icons/axes.png rename to qad/utils/qpicalculator/icons/axes.png diff --git a/qad/graphic/qpicalculator/icons/axes_1.png b/qad/utils/qpicalculator/icons/axes_1.png similarity index 100% rename from qad/graphic/qpicalculator/icons/axes_1.png rename to qad/utils/qpicalculator/icons/axes_1.png diff --git a/qad/graphic/qpicalculator/icons/character-set.png b/qad/utils/qpicalculator/icons/character-set.png similarity index 100% rename from qad/graphic/qpicalculator/icons/character-set.png rename to qad/utils/qpicalculator/icons/character-set.png diff --git a/qad/graphic/qpicalculator/icons/configure.png b/qad/utils/qpicalculator/icons/configure.png similarity index 100% rename from qad/graphic/qpicalculator/icons/configure.png rename to qad/utils/qpicalculator/icons/configure.png diff --git a/qad/graphic/qpicalculator/icons/dialog-close.png b/qad/utils/qpicalculator/icons/dialog-close.png similarity index 100% rename from qad/graphic/qpicalculator/icons/dialog-close.png rename to qad/utils/qpicalculator/icons/dialog-close.png diff --git a/qad/graphic/qpicalculator/icons/document-close.png b/qad/utils/qpicalculator/icons/document-close.png similarity index 100% rename from qad/graphic/qpicalculator/icons/document-close.png rename to qad/utils/qpicalculator/icons/document-close.png diff --git a/qad/graphic/qpicalculator/icons/document-edit.png b/qad/utils/qpicalculator/icons/document-edit.png similarity index 100% rename from qad/graphic/qpicalculator/icons/document-edit.png rename to qad/utils/qpicalculator/icons/document-edit.png diff --git a/qad/graphic/qpicalculator/icons/document-open.png b/qad/utils/qpicalculator/icons/document-open.png similarity index 100% rename from qad/graphic/qpicalculator/icons/document-open.png rename to qad/utils/qpicalculator/icons/document-open.png diff --git a/qad/graphic/qpicalculator/icons/document-revert.png b/qad/utils/qpicalculator/icons/document-revert.png similarity index 100% rename from qad/graphic/qpicalculator/icons/document-revert.png rename to qad/utils/qpicalculator/icons/document-revert.png diff --git a/qad/graphic/qpicalculator/icons/document-save-as.png b/qad/utils/qpicalculator/icons/document-save-as.png similarity index 100% rename from qad/graphic/qpicalculator/icons/document-save-as.png rename to qad/utils/qpicalculator/icons/document-save-as.png diff --git a/qad/graphic/qpicalculator/icons/document-save.png b/qad/utils/qpicalculator/icons/document-save.png similarity index 100% rename from qad/graphic/qpicalculator/icons/document-save.png rename to qad/utils/qpicalculator/icons/document-save.png diff --git a/qad/graphic/qpicalculator/icons/edit-clear-locationbar-rtl.png b/qad/utils/qpicalculator/icons/edit-clear-locationbar-rtl.png similarity index 100% rename from qad/graphic/qpicalculator/icons/edit-clear-locationbar-rtl.png rename to qad/utils/qpicalculator/icons/edit-clear-locationbar-rtl.png diff --git a/qad/graphic/qpicalculator/icons/edit-clear.png b/qad/utils/qpicalculator/icons/edit-clear.png similarity index 100% rename from qad/graphic/qpicalculator/icons/edit-clear.png rename to qad/utils/qpicalculator/icons/edit-clear.png diff --git a/qad/graphic/qpicalculator/icons/edit-copy.png b/qad/utils/qpicalculator/icons/edit-copy.png similarity index 100% rename from qad/graphic/qpicalculator/icons/edit-copy.png rename to qad/utils/qpicalculator/icons/edit-copy.png diff --git a/qad/graphic/qpicalculator/icons/edit-cut.png b/qad/utils/qpicalculator/icons/edit-cut.png similarity index 100% rename from qad/graphic/qpicalculator/icons/edit-cut.png rename to qad/utils/qpicalculator/icons/edit-cut.png diff --git a/qad/graphic/qpicalculator/icons/edit-delete.png b/qad/utils/qpicalculator/icons/edit-delete.png similarity index 100% rename from qad/graphic/qpicalculator/icons/edit-delete.png rename to qad/utils/qpicalculator/icons/edit-delete.png diff --git a/qad/graphic/qpicalculator/icons/edit-find.png b/qad/utils/qpicalculator/icons/edit-find.png similarity index 100% rename from qad/graphic/qpicalculator/icons/edit-find.png rename to qad/utils/qpicalculator/icons/edit-find.png diff --git a/qad/graphic/qpicalculator/icons/edit-guides.png b/qad/utils/qpicalculator/icons/edit-guides.png similarity index 100% rename from qad/graphic/qpicalculator/icons/edit-guides.png rename to qad/utils/qpicalculator/icons/edit-guides.png diff --git a/qad/graphic/qpicalculator/icons/edit-paste.png b/qad/utils/qpicalculator/icons/edit-paste.png similarity index 100% rename from qad/graphic/qpicalculator/icons/edit-paste.png rename to qad/utils/qpicalculator/icons/edit-paste.png diff --git a/qad/graphic/qpicalculator/icons/edit-redo.png b/qad/utils/qpicalculator/icons/edit-redo.png similarity index 100% rename from qad/graphic/qpicalculator/icons/edit-redo.png rename to qad/utils/qpicalculator/icons/edit-redo.png diff --git a/qad/graphic/qpicalculator/icons/edit-undo.png b/qad/utils/qpicalculator/icons/edit-undo.png similarity index 100% rename from qad/graphic/qpicalculator/icons/edit-undo.png rename to qad/utils/qpicalculator/icons/edit-undo.png diff --git a/qad/graphic/qpicalculator/icons/empty_brick.png b/qad/utils/qpicalculator/icons/empty_brick.png similarity index 100% rename from qad/graphic/qpicalculator/icons/empty_brick.png rename to qad/utils/qpicalculator/icons/empty_brick.png diff --git a/qad/graphic/qpicalculator/icons/format-fill-color.png b/qad/utils/qpicalculator/icons/format-fill-color.png similarity index 100% rename from qad/graphic/qpicalculator/icons/format-fill-color.png rename to qad/utils/qpicalculator/icons/format-fill-color.png diff --git a/qad/graphic/qpicalculator/icons/format-text-bold.png b/qad/utils/qpicalculator/icons/format-text-bold.png similarity index 100% rename from qad/graphic/qpicalculator/icons/format-text-bold.png rename to qad/utils/qpicalculator/icons/format-text-bold.png diff --git a/qad/graphic/qpicalculator/icons/format-text-color.png b/qad/utils/qpicalculator/icons/format-text-color.png similarity index 100% rename from qad/graphic/qpicalculator/icons/format-text-color.png rename to qad/utils/qpicalculator/icons/format-text-color.png diff --git a/qad/graphic/qpicalculator/icons/format-text-italic.png b/qad/utils/qpicalculator/icons/format-text-italic.png similarity index 100% rename from qad/graphic/qpicalculator/icons/format-text-italic.png rename to qad/utils/qpicalculator/icons/format-text-italic.png diff --git a/qad/graphic/qpicalculator/icons/format-text-overline.png b/qad/utils/qpicalculator/icons/format-text-overline.png similarity index 100% rename from qad/graphic/qpicalculator/icons/format-text-overline.png rename to qad/utils/qpicalculator/icons/format-text-overline.png diff --git a/qad/graphic/qpicalculator/icons/format-text-strikethrough.png b/qad/utils/qpicalculator/icons/format-text-strikethrough.png similarity index 100% rename from qad/graphic/qpicalculator/icons/format-text-strikethrough.png rename to qad/utils/qpicalculator/icons/format-text-strikethrough.png diff --git a/qad/graphic/qpicalculator/icons/format-text-underline.png b/qad/utils/qpicalculator/icons/format-text-underline.png similarity index 100% rename from qad/graphic/qpicalculator/icons/format-text-underline.png rename to qad/utils/qpicalculator/icons/format-text-underline.png diff --git a/qad/graphic/qpicalculator/icons/go-home.png b/qad/utils/qpicalculator/icons/go-home.png similarity index 100% rename from qad/graphic/qpicalculator/icons/go-home.png rename to qad/utils/qpicalculator/icons/go-home.png diff --git a/qad/graphic/qpicalculator/icons/go-next.png b/qad/utils/qpicalculator/icons/go-next.png similarity index 100% rename from qad/graphic/qpicalculator/icons/go-next.png rename to qad/utils/qpicalculator/icons/go-next.png diff --git a/qad/graphic/qpicalculator/icons/go-previous.png b/qad/utils/qpicalculator/icons/go-previous.png similarity index 100% rename from qad/graphic/qpicalculator/icons/go-previous.png rename to qad/utils/qpicalculator/icons/go-previous.png diff --git a/qad/graphic/qpicalculator/icons/graphic_add.png b/qad/utils/qpicalculator/icons/graphic_add.png similarity index 100% rename from qad/graphic/qpicalculator/icons/graphic_add.png rename to qad/utils/qpicalculator/icons/graphic_add.png diff --git a/qad/graphic/qpicalculator/icons/graphics.png b/qad/utils/qpicalculator/icons/graphics.png similarity index 100% rename from qad/graphic/qpicalculator/icons/graphics.png rename to qad/utils/qpicalculator/icons/graphics.png diff --git a/qad/graphic/qpicalculator/icons/help-contents.png b/qad/utils/qpicalculator/icons/help-contents.png similarity index 100% rename from qad/graphic/qpicalculator/icons/help-contents.png rename to qad/utils/qpicalculator/icons/help-contents.png diff --git a/qad/graphic/qpicalculator/icons/history_brick_add.png b/qad/utils/qpicalculator/icons/history_brick_add.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_brick_add.png rename to qad/utils/qpicalculator/icons/history_brick_add.png diff --git a/qad/graphic/qpicalculator/icons/history_brick_del.png b/qad/utils/qpicalculator/icons/history_brick_del.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_brick_del.png rename to qad/utils/qpicalculator/icons/history_brick_del.png diff --git a/qad/graphic/qpicalculator/icons/history_brick_move.png b/qad/utils/qpicalculator/icons/history_brick_move.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_brick_move.png rename to qad/utils/qpicalculator/icons/history_brick_move.png diff --git a/qad/graphic/qpicalculator/icons/history_conn_add.png b/qad/utils/qpicalculator/icons/history_conn_add.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_conn_add.png rename to qad/utils/qpicalculator/icons/history_conn_add.png diff --git a/qad/graphic/qpicalculator/icons/history_conn_del.png b/qad/utils/qpicalculator/icons/history_conn_del.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_conn_del.png rename to qad/utils/qpicalculator/icons/history_conn_del.png diff --git a/qad/graphic/qpicalculator/icons/history_conn_edit.png b/qad/utils/qpicalculator/icons/history_conn_edit.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_conn_edit.png rename to qad/utils/qpicalculator/icons/history_conn_edit.png diff --git a/qad/graphic/qpicalculator/icons/history_conn_retrace.png b/qad/utils/qpicalculator/icons/history_conn_retrace.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_conn_retrace.png rename to qad/utils/qpicalculator/icons/history_conn_retrace.png diff --git a/qad/graphic/qpicalculator/icons/history_convert.png b/qad/utils/qpicalculator/icons/history_convert.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_convert.png rename to qad/utils/qpicalculator/icons/history_convert.png diff --git a/qad/graphic/qpicalculator/icons/history_freq.png b/qad/utils/qpicalculator/icons/history_freq.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_freq.png rename to qad/utils/qpicalculator/icons/history_freq.png diff --git a/qad/graphic/qpicalculator/icons/history_point.xcf b/qad/utils/qpicalculator/icons/history_point.xcf similarity index 100% rename from qad/graphic/qpicalculator/icons/history_point.xcf rename to qad/utils/qpicalculator/icons/history_point.xcf diff --git a/qad/graphic/qpicalculator/icons/history_point_add.png b/qad/utils/qpicalculator/icons/history_point_add.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_point_add.png rename to qad/utils/qpicalculator/icons/history_point_add.png diff --git a/qad/graphic/qpicalculator/icons/history_point_del.png b/qad/utils/qpicalculator/icons/history_point_del.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_point_del.png rename to qad/utils/qpicalculator/icons/history_point_del.png diff --git a/qad/graphic/qpicalculator/icons/history_point_move.png b/qad/utils/qpicalculator/icons/history_point_move.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_point_move.png rename to qad/utils/qpicalculator/icons/history_point_move.png diff --git a/qad/graphic/qpicalculator/icons/history_seg_add.png b/qad/utils/qpicalculator/icons/history_seg_add.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_seg_add.png rename to qad/utils/qpicalculator/icons/history_seg_add.png diff --git a/qad/graphic/qpicalculator/icons/history_seg_del.png b/qad/utils/qpicalculator/icons/history_seg_del.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_seg_del.png rename to qad/utils/qpicalculator/icons/history_seg_del.png diff --git a/qad/graphic/qpicalculator/icons/history_seg_move.png b/qad/utils/qpicalculator/icons/history_seg_move.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_seg_move.png rename to qad/utils/qpicalculator/icons/history_seg_move.png diff --git a/qad/graphic/qpicalculator/icons/history_text_add.png b/qad/utils/qpicalculator/icons/history_text_add.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_text_add.png rename to qad/utils/qpicalculator/icons/history_text_add.png diff --git a/qad/graphic/qpicalculator/icons/history_text_del.png b/qad/utils/qpicalculator/icons/history_text_del.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_text_del.png rename to qad/utils/qpicalculator/icons/history_text_del.png diff --git a/qad/graphic/qpicalculator/icons/history_text_edit.png b/qad/utils/qpicalculator/icons/history_text_edit.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_text_edit.png rename to qad/utils/qpicalculator/icons/history_text_edit.png diff --git a/qad/graphic/qpicalculator/icons/history_text_move.png b/qad/utils/qpicalculator/icons/history_text_move.png similarity index 100% rename from qad/graphic/qpicalculator/icons/history_text_move.png rename to qad/utils/qpicalculator/icons/history_text_move.png diff --git a/qad/graphic/qpicalculator/icons/initial.png b/qad/utils/qpicalculator/icons/initial.png similarity index 100% rename from qad/graphic/qpicalculator/icons/initial.png rename to qad/utils/qpicalculator/icons/initial.png diff --git a/qad/graphic/qpicalculator/icons/insert-image.png b/qad/utils/qpicalculator/icons/insert-image.png similarity index 100% rename from qad/graphic/qpicalculator/icons/insert-image.png rename to qad/utils/qpicalculator/icons/insert-image.png diff --git a/qad/graphic/qpicalculator/icons/insert-text.png b/qad/utils/qpicalculator/icons/insert-text.png similarity index 100% rename from qad/graphic/qpicalculator/icons/insert-text.png rename to qad/utils/qpicalculator/icons/insert-text.png diff --git a/qad/graphic/qpicalculator/icons/layer-visible-off.png b/qad/utils/qpicalculator/icons/layer-visible-off.png similarity index 100% rename from qad/graphic/qpicalculator/icons/layer-visible-off.png rename to qad/utils/qpicalculator/icons/layer-visible-off.png diff --git a/qad/graphic/qpicalculator/icons/layer-visible-on.png b/qad/utils/qpicalculator/icons/layer-visible-on.png similarity index 100% rename from qad/graphic/qpicalculator/icons/layer-visible-on.png rename to qad/utils/qpicalculator/icons/layer-visible-on.png diff --git a/qad/graphic/qpicalculator/icons/list-add.png b/qad/utils/qpicalculator/icons/list-add.png similarity index 100% rename from qad/graphic/qpicalculator/icons/list-add.png rename to qad/utils/qpicalculator/icons/list-add.png diff --git a/qad/graphic/qpicalculator/icons/mbricks.svg b/qad/utils/qpicalculator/icons/mbricks.svg similarity index 100% rename from qad/graphic/qpicalculator/icons/mbricks.svg rename to qad/utils/qpicalculator/icons/mbricks.svg diff --git a/qad/graphic/qpicalculator/icons/mbricks_128.png b/qad/utils/qpicalculator/icons/mbricks_128.png similarity index 100% rename from qad/graphic/qpicalculator/icons/mbricks_128.png rename to qad/utils/qpicalculator/icons/mbricks_128.png diff --git a/qad/graphic/qpicalculator/icons/mbricks_22.png b/qad/utils/qpicalculator/icons/mbricks_22.png similarity index 100% rename from qad/graphic/qpicalculator/icons/mbricks_22.png rename to qad/utils/qpicalculator/icons/mbricks_22.png diff --git a/qad/graphic/qpicalculator/icons/mbricks_256.png b/qad/utils/qpicalculator/icons/mbricks_256.png similarity index 100% rename from qad/graphic/qpicalculator/icons/mbricks_256.png rename to qad/utils/qpicalculator/icons/mbricks_256.png diff --git a/qad/graphic/qpicalculator/icons/mbricks_64.png b/qad/utils/qpicalculator/icons/mbricks_64.png similarity index 100% rename from qad/graphic/qpicalculator/icons/mbricks_64.png rename to qad/utils/qpicalculator/icons/mbricks_64.png diff --git a/qad/graphic/qpicalculator/icons/media-playback-pause.png b/qad/utils/qpicalculator/icons/media-playback-pause.png similarity index 100% rename from qad/graphic/qpicalculator/icons/media-playback-pause.png rename to qad/utils/qpicalculator/icons/media-playback-pause.png diff --git a/qad/graphic/qpicalculator/icons/media-playback-start.png b/qad/utils/qpicalculator/icons/media-playback-start.png similarity index 100% rename from qad/graphic/qpicalculator/icons/media-playback-start.png rename to qad/utils/qpicalculator/icons/media-playback-start.png diff --git a/qad/graphic/qpicalculator/icons/media-playback-stop.png b/qad/utils/qpicalculator/icons/media-playback-stop.png similarity index 100% rename from qad/graphic/qpicalculator/icons/media-playback-stop.png rename to qad/utils/qpicalculator/icons/media-playback-stop.png diff --git a/qad/graphic/qpicalculator/icons/media-skip-forward.png b/qad/utils/qpicalculator/icons/media-skip-forward.png similarity index 100% rename from qad/graphic/qpicalculator/icons/media-skip-forward.png rename to qad/utils/qpicalculator/icons/media-skip-forward.png diff --git a/qad/graphic/qpicalculator/icons/object-flip-horizontal.png b/qad/utils/qpicalculator/icons/object-flip-horizontal.png similarity index 100% rename from qad/graphic/qpicalculator/icons/object-flip-horizontal.png rename to qad/utils/qpicalculator/icons/object-flip-horizontal.png diff --git a/qad/graphic/qpicalculator/icons/player-time.png b/qad/utils/qpicalculator/icons/player-time.png similarity index 100% rename from qad/graphic/qpicalculator/icons/player-time.png rename to qad/utils/qpicalculator/icons/player-time.png diff --git a/qad/graphic/qpicalculator/icons/preferences-desktop-display.png b/qad/utils/qpicalculator/icons/preferences-desktop-display.png similarity index 100% rename from qad/graphic/qpicalculator/icons/preferences-desktop-display.png rename to qad/utils/qpicalculator/icons/preferences-desktop-display.png diff --git a/qad/graphic/qpicalculator/icons/preferences-desktop-keyboard.png b/qad/utils/qpicalculator/icons/preferences-desktop-keyboard.png similarity index 100% rename from qad/graphic/qpicalculator/icons/preferences-desktop-keyboard.png rename to qad/utils/qpicalculator/icons/preferences-desktop-keyboard.png diff --git a/qad/graphic/qpicalculator/icons/run-build.png b/qad/utils/qpicalculator/icons/run-build.png similarity index 100% rename from qad/graphic/qpicalculator/icons/run-build.png rename to qad/utils/qpicalculator/icons/run-build.png diff --git a/qad/graphic/qpicalculator/icons/tree.png b/qad/utils/qpicalculator/icons/tree.png similarity index 100% rename from qad/graphic/qpicalculator/icons/tree.png rename to qad/utils/qpicalculator/icons/tree.png diff --git a/qad/graphic/qpicalculator/icons/view-center.png b/qad/utils/qpicalculator/icons/view-center.png similarity index 100% rename from qad/graphic/qpicalculator/icons/view-center.png rename to qad/utils/qpicalculator/icons/view-center.png diff --git a/qad/graphic/qpicalculator/icons/view-fullscreen.png b/qad/utils/qpicalculator/icons/view-fullscreen.png similarity index 100% rename from qad/graphic/qpicalculator/icons/view-fullscreen.png rename to qad/utils/qpicalculator/icons/view-fullscreen.png diff --git a/qad/graphic/qpicalculator/icons/view-grid.png b/qad/utils/qpicalculator/icons/view-grid.png similarity index 100% rename from qad/graphic/qpicalculator/icons/view-grid.png rename to qad/utils/qpicalculator/icons/view-grid.png diff --git a/qad/graphic/qpicalculator/icons/view-mode-compact.png b/qad/utils/qpicalculator/icons/view-mode-compact.png similarity index 100% rename from qad/graphic/qpicalculator/icons/view-mode-compact.png rename to qad/utils/qpicalculator/icons/view-mode-compact.png diff --git a/qad/graphic/qpicalculator/icons/view-mode-expanded.png b/qad/utils/qpicalculator/icons/view-mode-expanded.png similarity index 100% rename from qad/graphic/qpicalculator/icons/view-mode-expanded.png rename to qad/utils/qpicalculator/icons/view-mode-expanded.png diff --git a/qad/graphic/qpicalculator/icons/view-mode-icon.png b/qad/utils/qpicalculator/icons/view-mode-icon.png similarity index 100% rename from qad/graphic/qpicalculator/icons/view-mode-icon.png rename to qad/utils/qpicalculator/icons/view-mode-icon.png diff --git a/qad/graphic/qpicalculator/icons/view-refresh.png b/qad/utils/qpicalculator/icons/view-refresh.png similarity index 100% rename from qad/graphic/qpicalculator/icons/view-refresh.png rename to qad/utils/qpicalculator/icons/view-refresh.png diff --git a/qad/graphic/qpicalculator/icons/view-restore.png b/qad/utils/qpicalculator/icons/view-restore.png similarity index 100% rename from qad/graphic/qpicalculator/icons/view-restore.png rename to qad/utils/qpicalculator/icons/view-restore.png diff --git a/qad/graphic/qpicalculator/icons/view-tooltips.png b/qad/utils/qpicalculator/icons/view-tooltips.png similarity index 100% rename from qad/graphic/qpicalculator/icons/view-tooltips.png rename to qad/utils/qpicalculator/icons/view-tooltips.png diff --git a/qad/graphic/qpicalculator/icons/window-new.png b/qad/utils/qpicalculator/icons/window-new.png similarity index 100% rename from qad/graphic/qpicalculator/icons/window-new.png rename to qad/utils/qpicalculator/icons/window-new.png diff --git a/qad/graphic/qpicalculator/icons/zoom-fit-best.png b/qad/utils/qpicalculator/icons/zoom-fit-best.png similarity index 100% rename from qad/graphic/qpicalculator/icons/zoom-fit-best.png rename to qad/utils/qpicalculator/icons/zoom-fit-best.png diff --git a/qad/graphic/qpicalculator/icons/zoom-in.png b/qad/utils/qpicalculator/icons/zoom-in.png similarity index 100% rename from qad/graphic/qpicalculator/icons/zoom-in.png rename to qad/utils/qpicalculator/icons/zoom-in.png diff --git a/qad/graphic/qpicalculator/icons/zoom-original.png b/qad/utils/qpicalculator/icons/zoom-original.png similarity index 100% rename from qad/graphic/qpicalculator/icons/zoom-original.png rename to qad/utils/qpicalculator/icons/zoom-original.png diff --git a/qad/graphic/qpicalculator/icons/zoom-out.png b/qad/utils/qpicalculator/icons/zoom-out.png similarity index 100% rename from qad/graphic/qpicalculator/icons/zoom-out.png rename to qad/utils/qpicalculator/icons/zoom-out.png diff --git a/qad/graphic/qpicalculator/icons/zoom-range.png b/qad/utils/qpicalculator/icons/zoom-range.png similarity index 100% rename from qad/graphic/qpicalculator/icons/zoom-range.png rename to qad/utils/qpicalculator/icons/zoom-range.png diff --git a/qad/graphic/qpicalculator/icons/zoom-rect.png b/qad/utils/qpicalculator/icons/zoom-rect.png similarity index 100% rename from qad/graphic/qpicalculator/icons/zoom-rect.png rename to qad/utils/qpicalculator/icons/zoom-rect.png diff --git a/qad/graphic/qpicalculator/main.cpp b/qad/utils/qpicalculator/main.cpp similarity index 100% rename from qad/graphic/qpicalculator/main.cpp rename to qad/utils/qpicalculator/main.cpp diff --git a/qad/graphic/qpicalculator/mainwindow.cpp b/qad/utils/qpicalculator/mainwindow.cpp similarity index 100% rename from qad/graphic/qpicalculator/mainwindow.cpp rename to qad/utils/qpicalculator/mainwindow.cpp diff --git a/qad/graphic/qpicalculator/mainwindow.h b/qad/utils/qpicalculator/mainwindow.h similarity index 100% rename from qad/graphic/qpicalculator/mainwindow.h rename to qad/utils/qpicalculator/mainwindow.h diff --git a/qad/graphic/qpicalculator/mainwindow.ui b/qad/utils/qpicalculator/mainwindow.ui similarity index 100% rename from qad/graphic/qpicalculator/mainwindow.ui rename to qad/utils/qpicalculator/mainwindow.ui diff --git a/qad/graphic/qpicalculator/qpicalculator.qrc b/qad/utils/qpicalculator/qpicalculator.qrc similarity index 100% rename from qad/graphic/qpicalculator/qpicalculator.qrc rename to qad/utils/qpicalculator/qpicalculator.qrc diff --git a/qad/widgets/qad_widgets.qrc b/qad/widgets/qad_widgets.qrc deleted file mode 100644 index 5b064ed..0000000 --- a/qad/widgets/qad_widgets.qrc +++ /dev/null @@ -1,47 +0,0 @@ - - - ../icons/go-next.png - ../icons/go-previous.png - lang/qad_widgets_ru.ts - ../icons/dialog-close.png - ../icons/edit-clear.png - ../icons/edit-guides.png - ../icons/view-grid.png - ../icons/zoom-fit-best.png - ../icons/configure.png - ../icons/alpha.png - ../icons/document-save.png - ../icons/edit-clear-locationbar-rtl.png - ../icons/edit-find.png - ../icons/list-add.png - ../icons/edit-delete.png - ../icons/item-add.png - ../icons/item.png - ../icons/node-add.png - ../icons/node.png - ../icons/edit-copy.png - ../icons/edit-paste.png - ../icons/expand_s_x.png - ../icons/expand_s_y.png - ../icons/expand_x.png - ../icons/expand_y.png - ../icons/border-line.png - ../icons/legend.png - ../icons/chardialog.png - ../icons/clineedit.png - ../icons/colorbutton.png - ../icons/ecombobox.png - ../icons/qpiconsole.png - ../icons/spinslider.png - ../icons/etabwidget.png - ../icons/qcodeedit.png - ../icons/qvariantedit.png - ../icons/code-word.png - ../icons/f1.png - ../icons/dialog-ok-apply.png - ../icons/dialog-warning.png - ../icons/tools-wizard.png - ../icons/evalspinbox.png - ../icons/scroll_spin.png - -