Revision 130d2e9...

Go back to digest for 10th June 2012

Features in Utilities

Friedrich Karl Tilman Pülz committed changes in [publictransport/QtScriptAndThreadWeaver] /:

New KDevelop-like TimetableMate GUI, update accessor file format, fixes

(Too) big commit, much code moved from TimetableMate to new files for
docks/tabs and a new Project class, improved GUI, etc.

TimetableMate:
- Much improved TimetableMate GUI, more KDevelop like
- Move Debugger code to subdirectory "debugger"
- Add dock/tab base classes and derivates for all available dock widgets
and tabs, in subdirectories "docks"/"tabs"
- Allow multiple projects to be opened in one TimetableMate window,
add a Project class and a ProjectModel to manage multiple projects
- Update TimetableMate XML GUI, menus of the kate part are now separated
from own menus like in KDevelop (copied some lines of code)
- Shortcut clashes with the kate part are now solved by using an own
katepartui.rc, which removes shortcuts from actions in the kate part
that are also used by timetablemate (the same way KDevelop does it)
- Opened projects and tabs are remembered when TimetabeMate gets started again
- Add preferences dialog, currently only one option: "Restore Projects"
- Add fixed dock toolbars to toggle the shown dock for the left, bottom,
right areas (like in KDevelop), add "shown docks" context menu
- Move much code from class TimetableMate to the project/dock/tab classes
- The new Project class provides actions (Project::ProjectAction),
it manages a set of actions internally (created when needed) and allows
to create and connect external actions. This makes it possible to create
project actions for the main window and connect them with one project
at a time (this one project is the "active project")
- Use KMessageWidget when the status bar is hidden
- Add new docks:
ProjectsDockWidget (visualizing ProjectModel)
TestDockWidget (visualizing TestModel)
WebInspectorDockWidget (showing the QWebInspector for web tabs)
NetworkMonitorDockWidget (visualizing NetworkMonitorModel)
- ProjectModel manages opened projects, makes sure that one project is
always the "active project", ie. connected with main window actions
and docks
- TestModel provides a set of test cases with tests, results are
visualized by TestDockWidget, tests are started from class Project,
can start individual tests/test cases
- NetworkMonitorModel collects all network requests and replies for the
QNetworkManager used in a web tab, NetworkMonitorFilterModel can filter
by type (GET/POST/reply) and content type (eg. html/css/images)
- Add new overview tab, written in QML, using Plasma Components,
works great with the new Project class
- New mime type "application-x-publictransport-serviceprovider"
for PublicTransport engine service provider plugins, ie. "accessor XMLs"
- Add "operation" argument to TImetableMateHelper to allow to specify
if a project should be installed or uninstalled
- Add actions for uninstallation of projects
- Improve about dialog, add translator about data dummy strings
(to be "translated" with translator names/authors),
add OCS username to aboutdata, replace "(c)" with "©"
- Fix JavaScriptParser crashes/hangs, use QSharedPointer
- Changes in the Debugger:
- Add signals waitingForSignal() and wokeUpFromSignal(),
emitted when script executions waits for a signal to continue,
previously stopped()/started() signals where emitted instead
- Add statistics to the stopped() signal, eg. execution time
- Use new debugger models with thread safe handling of changes:
BacktraceModel, BreakpointModel, VariableModel
- More control over jobs running asynchronously in the Debugger,
can enqueue/connect jobs of base type DebuggerJob
- Use ThreadWeaver::ResourceRestrictionPolicy to control jobs,
ie. only one job can run in the debugger at a time, but if
a running job is interrupted, one job can be run in the current
script context
- Fixes

Engine:
- Add parent argument to TimetableAccessor constructor, make m_info member
completely constant (const TimetableAccessorInfo *const)
- Fix changelog version comparison
- Add methods to TimetableAccessorInfo: shortUrlFromUrl() and
shortAuthorFromAuthor() for suggestions if the short versions are missing
- Provide the associated functionName() in RequestInfo
- Remove unused arguments from StopSuggestionRequestInfo constructor

AccessorInfoXmlReader/Writer:
- Better member variable names for ChangelogEntry
- New enum ErrorAcceptance for reading, the engine uses
OnlyReadCorrectFiles, TimetableMate uses ReadErrorneousFiles
- Add sample stops / city to the XML file format
- Write used script extensions in the writer
as attributes to the <script>-tag

File Changes

Added 67 files
  • /timetablemate
  •   engine/src/accessorinfotester.cpp
  •   engine/src/accessorinfotester.h
  •   engine/src/enums.h
  •   engine/src/katepartui.rc
  •   engine/src/networkmonitormodel.cpp
  •   engine/src/networkmonitormodel.h
  •   engine/src/preferences.ui
  •   engine/src/project.cpp
  •   engine/src/project.h
  •   engine/src/projectmodel.cpp
  •   engine/src/projectmodel.h
  •   engine/src/projectsettingsdialog.cpp
  •   engine/src/testmodel.cpp
  •   engine/src/testmodel.h
  •   engine/src.xml
  •   engine/svg/CMakeLists.txt
  •   engine/svg/overview.svg
  •   engine/src/debugger/backtracemodel.cpp
  •   engine/src/debugger/backtracemodel.h
  •   engine/src/debugger/breakpointmodel.cpp
  •   engine/src/debugger/breakpointmodel.h
  •   engine/src/debugger/CMakeLists.txt
  •   engine/src/debugger/debugger.cpp
  •   engine/src/debugger/debugger.h
  •   engine/src/debugger/debuggeragent.cpp
  •   engine/src/debugger/debuggerjobs.cpp
  •   engine/src/debugger/timetabledatarequestjob.cpp
  •   engine/src/debugger/timetabledatarequestjob.h
  •   engine/src/debugger/variablemodel.cpp
  •   engine/src/debugger/variablemodel.h
  •   engine/src/docks/abstractdockwidget.cpp
  •   engine/src/docks/abstractdockwidget.h
  •   engine/src/docks/backtracedockwidget.cpp
  •   engine/src/docks/backtracedockwidget.h
  •   engine/src/docks/breakpointdockwidget.cpp
  •   engine/src/docks/breakpointdockwidget.h
  •   engine/src/docks/CMakeLists.txt
  •   engine/src/docks/consoledockwidget.cpp
  •   engine/src/docks/consoledockwidget.h
  •   engine/src/docks/docktoolbar.cpp
  •   engine/src/docks/docktoolbar.h
  •   engine/src/docks/documentationdockwidget.cpp
  •   engine/src/docks/networkmonitordockwidget.cpp
  •   engine/src/docks/networkmonitordockwidget.h
  •   engine/src/docks/outputdockwidget.cpp
  •   engine/src/docks/outputdockwidget.h
  •   engine/src/docks/projectsdockwidget.cpp
  •   engine/src/docks/projectsdockwidget.h
  •   engine/src/docks/testdockwidget.cpp
  •   engine/src/docks/testdockwidget.h
  •   engine/src/docks/variablesdockwidget.cpp
  •   engine/src/docks/variablesdockwidget.h
  •   engine/src/docks/webinspectordockwidget.cpp
  •   engine/src/docks/webinspectordockwidget.h
  •   engine/src/tabs/abstracttab.cpp
  •   engine/src/tabs/abstracttab.h
  •   engine/src/tabs/ActionButton.qml
  •   engine/src/tabs/ActionToolButton.qml
  •   engine/src/tabs/CMakeLists.txt
  •   engine/src/tabs/overviewtab.cpp
  •   engine/src/tabs/overviewtab.qml
  •   engine/src/tabs/plasmapreviewtab.cpp
  •   engine/src/tabs/projectsourcetab.cpp
  •   engine/src/tabs/scripttab.cpp
  •   engine/src/tabs/scripttab.h
  •   engine/src/tabs/webtab.cpp
  •   engine/src/tabs/webtab.h
Deleted 5 files
  • /timetablemate/src
  •   engine/debugger.cpp
  •   engine/debugger.h
  •   engine/debuggeragent.cpp
  •   engine/debuggerjobs.cpp
  •   engine/timetablemateview.cpp
Modified 35 files
  •   engine/accessorinfoxmlreader.cpp
  •   engine/accessorinfoxmlreader.h
  •   engine/enums.h
  •   engine/publictransportdataengine.cpp
  •   engine/script_thread.cpp
  •   engine/script_thread.h
  •   engine/scripting.cpp
  •   engine/scripting.h
  •   engine/timetableaccessor.cpp
  •   engine/timetableaccessor.h
  •   engine/timetableaccessor_info.cpp
  •   engine/timetableaccessor_info.h
  •   engine/timetableaccessor_script.cpp
  •   engine/timetableaccessor_script.h
  •   engine/timetablemate/CMakeLists.txt
  •   engine/timetablemate/src/accessorinfoxmlwriter.cpp
  •   engine/timetablemate/src/accessorinfoxmlwriter.h
  •   engine/timetablemate/src/changelogwidget.cpp
  •   engine/timetablemate/src/changelogwidget.h
  •   engine/timetablemate/src/CMakeLists.txt
  •   engine/timetablemate/src/javascriptmodel.cpp
  •   engine/timetablemate/src/javascriptmodel.h
  •   engine/timetablemate/src/javascriptparser.cpp
  •   engine/timetablemate/src/javascriptparser.h
  •   engine/timetablemate/src/main.cpp
  •   engine/timetablemate/src/publictransportpreview.cpp
  •   engine/timetablemate/src/publictransportpreview.h
  •   engine/timetablemate/src/settings.kcfgc
  •   engine/timetablemate/src/timetablemate.cpp
  •   engine/timetablemate/src/timetablemate.desktop
  •   engine/timetablemate/src/timetablemate.h
  •   engine/timetablemate/src/timetablemate.kcfg
  •   engine/timetablemate/src/timetablematehelper.cpp
  •   engine/timetablemate/src/timetablemateui.rc
  •   engine/timetablemate/src/timetablemateview_base.ui
107 files changed in total