
* runner.cpp: Try to fix segmentations problem, * configs.h, * regionwidget.cpp, * TODO. --- GScribo/GScribo.pro.user | 32 +++++++++++++++++--------------- GScribo/Processing/runner.cpp | 2 +- GScribo/TODO | 20 +++++++++++--------- GScribo/configs.h | 28 ++++------------------------ GScribo/graphicswidget.h | 18 ------------------ GScribo/helpdialog.cpp | 1 - GScribo/regionwidget.cpp | 2 +- 7 files changed, 34 insertions(+), 69 deletions(-) delete mode 100644 GScribo/graphicswidget.h delete mode 100644 GScribo/helpdialog.cpp diff --git a/GScribo/GScribo.pro.user b/GScribo/GScribo.pro.user index 6797177..c8d3403 100644 --- a/GScribo/GScribo.pro.user +++ b/GScribo/GScribo.pro.user @@ -58,6 +58,7 @@ <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value> <value key="QtVersionId" type="int">0</value> <value key="ToolChain" type="int">0</value> + <value key="addQDumper" type=""></value> <value key="buildConfiguration" type="int">2</value> </valuemap> </data> @@ -66,6 +67,7 @@ <valuemap type="QVariantMap"> <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value> <value key="QtVersionId" type="int">0</value> + <value key="addQDumper" type=""></value> <value key="buildConfiguration" type="int">0</value> </valuemap> </data> @@ -74,7 +76,7 @@ <valuemap type="QVariantMap"> <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value> <valuelist key="abstractProcess.Environment" type="QVariantList"> - <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5fRJjvQZCW,guid=f01db3fa195c41095666b8af000232ff</value> + <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-AApY2C9ax7,guid=67203c296298a08d55b5e06d00024298</value> <value type="QString">DESKTOP_SESSION=fluxbox</value> <value type="QString">DISPLAY=:0.0</value> <value type="QString">GDMSESSION=fluxbox</value> @@ -90,16 +92,16 @@ <value type="QString">QTDIR=/usr/share/qt4</value> <value type="QString">SHELL=/bin/bash</value> <value type="QString">SHLVL=2</value> - <value type="QString">SSH_AGENT_PID=13463</value> - <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-ktPBW13403/agent.13403</value> + <value type="QString">SSH_AGENT_PID=14368</value> + <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-klKXX14308/agent.14308</value> <value type="QString">TERM=xterm</value> <value type="QString">USER=froger_a</value> <value type="QString">USERNAME=froger_a</value> - <value type="QString">WINDOWID=16777240</value> - <value type="QString">WINDOWPATH=7:8:8:8:8</value> - <value type="QString">XAUTHORITY=/tmp/.gdmORALSW</value> + <value type="QString">WINDOWID=10485784</value> + <value type="QString">WINDOWPATH=7:8:8:8:8:8</value> + <value type="QString">XAUTHORITY=/tmp/.gdmVOT6RW</value> <value type="QString">XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/</value> - <value type="QString">XDG_SESSION_COOKIE=9a5c41ad78622411b8e25b00459a554f-1360918541.182866-885976381</value> + <value type="QString">XDG_SESSION_COOKIE=9a5c41ad78622411b8e25b00459a554f-1360922534.723042-2005793738</value> <value type="QString">XTERM_LOCALE=fr_FR.UTF-8</value> <value type="QString">XTERM_SHELL=/bin/bash</value> <value type="QString">XTERM_VERSION=XTerm(261)</value> @@ -112,7 +114,7 @@ <value type="QString">CONFIG+=debug</value> </valuelist> <value key="abstractProcess.command" type="QString">/usr/bin/qmake-qt4</value> - <value key="abstractProcess.enabled" type="bool">false</value> + <value key="abstractProcess.enabled" type="bool">true</value> <value key="abstractProcess.workingDirectory" type="QString">/amd/nfs/volume1/home/stage/froger_a/qt/GScribo</value> </valuemap> </data> @@ -121,7 +123,7 @@ <valuemap type="QVariantMap"> <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value> <valuelist key="abstractProcess.Environment" type="QVariantList"> - <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5fRJjvQZCW,guid=f01db3fa195c41095666b8af000232ff</value> + <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-AApY2C9ax7,guid=67203c296298a08d55b5e06d00024298</value> <value type="QString">DESKTOP_SESSION=fluxbox</value> <value type="QString">DISPLAY=:0.0</value> <value type="QString">GDMSESSION=fluxbox</value> @@ -137,16 +139,16 @@ <value type="QString">QTDIR=/usr/share/qt4</value> <value type="QString">SHELL=/bin/bash</value> <value type="QString">SHLVL=2</value> - <value type="QString">SSH_AGENT_PID=13463</value> - <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-ktPBW13403/agent.13403</value> + <value type="QString">SSH_AGENT_PID=14368</value> + <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-klKXX14308/agent.14308</value> <value type="QString">TERM=xterm</value> <value type="QString">USER=froger_a</value> <value type="QString">USERNAME=froger_a</value> - <value type="QString">WINDOWID=16777240</value> - <value type="QString">WINDOWPATH=7:8:8:8:8</value> - <value type="QString">XAUTHORITY=/tmp/.gdmORALSW</value> + <value type="QString">WINDOWID=10485784</value> + <value type="QString">WINDOWPATH=7:8:8:8:8:8</value> + <value type="QString">XAUTHORITY=/tmp/.gdmVOT6RW</value> <value type="QString">XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/</value> - <value type="QString">XDG_SESSION_COOKIE=9a5c41ad78622411b8e25b00459a554f-1360918541.182866-885976381</value> + <value type="QString">XDG_SESSION_COOKIE=9a5c41ad78622411b8e25b00459a554f-1360922534.723042-2005793738</value> <value type="QString">XTERM_LOCALE=fr_FR.UTF-8</value> <value type="QString">XTERM_SHELL=/bin/bash</value> <value type="QString">XTERM_VERSION=XTerm(261)</value> diff --git a/GScribo/Processing/runner.cpp b/GScribo/Processing/runner.cpp index faa9ce0..34145ee 100644 --- a/GScribo/Processing/runner.cpp +++ b/GScribo/Processing/runner.cpp @@ -66,7 +66,7 @@ image2d<bool> Runner::preprocess(const image2d<value::rgb8>& ima) Preprocess f; // Load config. - Configs * const conf = Configs::getInstance(); + Configs *const conf = Configs::getInstance(); connect(&f, SIGNAL(progress()), this, SIGNAL(progress())); connect(&f, SIGNAL(newProgressLabel(QString)), diff --git a/GScribo/TODO b/GScribo/TODO index a386c37..1c6c89a 100644 --- a/GScribo/TODO +++ b/GScribo/TODO @@ -1,4 +1,4 @@ -Concerning the xml widget : +* Concerning the xml widget : - Can modify in real time the proxy with a regular expression. When the user click on a check box in the region widget, a new regular expression is created an sent to the xml widget but the proxy is not modified by this regular expression. - In the table tree (the attributes tree), set the max of the header splitter. Currently it can be moved indefinitely to the right. - Fit the splitter to the content of the first column when an attributes node is loaded. @@ -6,29 +6,31 @@ Concerning the xml widget : - The organisation of the class and the two views are not perfect. -Concerning the scene : +* Concerning the scene : - Give the possibility to the user to remove some region. - Can create/ fusion some region : sometimes two line regions are splitted but will not be. - Optimize the collision between the rectangle item and the regions. Currently it do not take into account if the region is visible by the view before calculating the collision. - Use OpenGL to speed up graphics rendering (the gui has been developped with Qt 4.7, OpenGL was still experimental so it was really slow when updating the scene). - - Create a little widget at the bottom of the scene with the % of scale, the possibility to fit the scene rect or to scale it at 100% (just like gwenview). + - Create a little widget at the bottom of the scene with the % of scale, the possibility to fit the scene rect or to scale it at 100% (just like gwenview). - May be give the possibility to change the color. - May be some options one right click. -Concerning the region widget : +* Concerning the region widget : - As stated bove, connect this widget with the xml widget. - Find a better way to get region names and colors. -Concerning the thumbnails widget : +* Concerning the page widget : - Load less thumbnails (just the necessary to draw it on the widget) because sometimes, pictures are heavy. - May be use a progress dialog during the loading where a large number of pictures are loaded. - Offer the possibility to down/ upscale thumbnails. - Create also a button to delete selected items (rather than the key 'delete'). + - During the segmentation, give the possibility to segment selected thumbnails, all thumbnails or juste the current. + - For each thumbnails, paint at his bottom a little progress dialog to check if the picture has already been segmented, not segmented or ongoing segmentation. -Concerning the xml file : +* Concerning the xml file : - Stop using the static array representation of the internal data structure for graphics region. - Find a better way to run through all node representing a graphics item without knowing it in advance. For exemple, the xml file looks like this : @@ -68,18 +70,18 @@ Concerning the xml file : Graphical items are after pages and node containing informations looks like : *Region -> Coords -> Points and is located in the root node named "Page" so there is a way to find graphical item without knowing their location and name before. -Concerning tool bar : +* Concerning tool bar : - Create one \o/. - Create icons to replace text. - Add new functionnalities. -Create a text viewer : +* Create a text viewer : - Give the possibility to modify the text. - ______________________ move picture. - ______________________ load arrays, tables, etc ... - Create a custom tool bar to save, load, etc ... -For other idea of interfaces using Qt : +* For other idea of interfaces using Qt : - gwenview (picture visionnary, good idea here). diff --git a/GScribo/configs.h b/GScribo/configs.h index ab61ec9..c6aac68 100644 --- a/GScribo/configs.h +++ b/GScribo/configs.h @@ -14,13 +14,6 @@ class Configs : public: inline static Configs *getInstance(); - inline bool isRegionInit(); - inline QColor regionColor(const GraphicsRegion::Id& region); - inline QString regionName(const GraphicsRegion::Id& region); - - inline bool isRegionChecked(const GraphicsRegion::Id& region); - inline void setRegionChecked(const GraphicsRegion::Id& region, bool checked); - inline bool preprocessingSubsample(); inline void setPreprocessingSubsample(bool b); @@ -64,21 +57,6 @@ class Configs : inline Configs *Configs::getInstance() { static Configs *conf = new Configs(); return conf; } -inline bool Configs::isRegionInit() -{ return value("region/init", false).toBool(); } - -inline bool Configs::isRegionChecked(const GraphicsRegion::Id ®ion) -{ return value("region/" + QString::number(region) + "/checked", true).toBool(); } - -inline void Configs::setRegionChecked(const GraphicsRegion::Id ®ion, bool checked) -{ setValue("region/" + QString::number(region) + "/checked", checked); } - -inline QColor Configs::regionColor(const GraphicsRegion::Id& region) -{ return value("region/" + QString::number(region) + "color").value<QColor>(); } - -inline QString Configs::regionName(const GraphicsRegion::Id ®ion) -{ beginGroup("region"); beginGroup(QString::number(region)); QString l = value("name").toString(); endGroup(); endGroup(); qDebug() << l; return l; } - inline bool Configs::preprocessingSubsample() { return value("preprocessing/subsample", false).toBool(); } @@ -104,7 +82,8 @@ inline void Configs::setPreprocessingRemoveNoise(bool b) { setValue("preprocessing/remove_noise", b); } inline int Configs::preprocessingBinAlgo() -{ return value("preprocessing/bin_algo", scribo::toolchain::internal::SauvolaMs).toInt(); } +{ return value("preprocessing/bin_algo", + scribo::toolchain::internal::SauvolaMs).toInt(); } inline void Configs::setPreprocessingBinAlgo(int algo) { setValue("preprocessing/bin_algo", algo); } @@ -146,7 +125,8 @@ inline void Configs::setGeneralSaveXmlCustomDir(bool b) { setValue("general/save_xml/custom_dir", b); } inline QString Configs::generalSaveXmlCustomDirPath() -{ return value("general/save_xml/custom_dir_path", QDir::tempPath()).toString(); } +{ return value("general/save_xml/custom_dir_path", + QDir::tempPath()).toString(); } inline void Configs::setGeneralSaveXmlCustomDirPath(const QString& path) { setValue("general/save_xml/custom_dir_path", path); } diff --git a/GScribo/graphicswidget.h b/GScribo/graphicswidget.h deleted file mode 100644 index ffb9aff..0000000 --- a/GScribo/graphicswidget.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef GRAPHICSWIDGET_H -#define GRAPHICSWIDGET_H - -#include <QWidget> - - -class GraphicsWidget : - public QWidget -{ - public: - explicit GraphicsWidget(QWidget *parent, Qt::WindowFlags f); - - private: - - -}; - -#endif // GRAPHICSWIDGET_H diff --git a/GScribo/helpdialog.cpp b/GScribo/helpdialog.cpp deleted file mode 100644 index 8b13789..0000000 --- a/GScribo/helpdialog.cpp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/GScribo/regionwidget.cpp b/GScribo/regionwidget.cpp index 107ac80..5d1a95e 100644 --- a/GScribo/regionwidget.cpp +++ b/GScribo/regionwidget.cpp @@ -65,6 +65,6 @@ void RegionWidget::checkStateChanged(QTreeWidgetItem *item) emit checkStateChanged(static_cast<GraphicsRegion::Id>(item->data(0, Qt::UserRole).toInt()), false); } - //Zemit checkStateChanged(filterString_); + //emit checkStateChanged(filterString_); } } -- 1.7.2.5