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
-
-
-
-
-
-
-
-
-
- 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
+
+
+
+
+
+
+
+
+
+ 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
-
-
-
- ColorButton
- QPushButton
-
-
-
-
-
-
-
-
-
-
- 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
+
+
+
+ ColorButton
+ QPushButton
+
+
+
+
+
+
+
+
+
+
+ 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
-
-
-
-
-
-
-
-
-
-
-
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
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
-
-
- colorChanged(QColor)
-
-
-
- EvalSpinBox
- QWidget
-
-
-
-
- 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
+
+
+ colorChanged(QColor)
+
+
+
+ EvalSpinBox
+ QWidget
+
+
+
+
+ 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
-
-