Commit Graph

3059 Commits

Author SHA1 Message Date
David Capello
383e371ddd Don't save backups for documents without modifications 2015-04-09 09:02:23 -03:00
David Capello
2ee6df8038 Save "ver" file in the session directory to know which Aseprite version was used 2015-04-09 08:10:09 -03:00
David Capello
21a57ff793 Add "data recovery period" option 2015-04-09 07:46:55 -03:00
David Capello
956ae0c565 Minor fix in Options dialog 2015-04-08 21:58:46 -03:00
David Capello
d8d0d5f0b1 Add some traces for app::Document locks 2015-04-08 21:48:12 -03:00
David Capello
7646f118d1 Match DataRecoveryView's View style with Workspace 2015-04-08 21:45:50 -03:00
David Capello
0cf5661457 Fix some UI problems deleting backups and sessions in DataRecoveryView 2015-04-08 21:43:06 -03:00
David Capello
77ec6c9e17 Save filename in "doc" file 2015-04-08 21:32:41 -03:00
David Capello
fddddf1342 Add buttons to open and delete a whole session in DataRecoveryView 2015-04-08 21:16:36 -03:00
David Capello
409d575948 Catch problems removing documents/directories 2015-04-08 20:46:00 -03:00
David Capello
9b692cb14a Add option to disable data recovery 2015-04-08 20:28:30 -03:00
David Capello
a4478e9306 Add UI and logic to recover a backup session
Changes:
* Add DataRecoveryView
* Split SubObjectsIO into an interface and SubObjectsFromSprite
* Add a "setId" parameter to some doc::read_* functions (we need this
  functionality from session recovery)
2015-04-08 20:05:05 -03:00
David Capello
5cf0396d98 Add version to doc::Object to avoid making backups of unmodified objects 2015-04-07 17:53:31 -03:00
David Capello
5f587af503 Lock the document when ToolLoopImpl has to commit or rollback the change 2015-04-07 17:50:57 -03:00
David Capello
14fed8afd5 Avoid leaving a Layer in a invalid state (a Cel without image) in ExpandCelCanvas 2015-04-07 17:49:40 -03:00
David Capello
6430d53a21 Add a special section in src/README.md about debugging tricks 2015-04-07 17:19:34 -03:00
David Capello
6ec33bdcf7 Make debug Ctrl+Shift+Q shortcut cross-platform 2015-04-07 17:19:22 -03:00
David Capello
8f56e263f3 Add missing #include "base/chrono.h" 2015-04-07 14:58:11 -03:00
David Capello
9ca4d15d74 Backup document data in a raw format directly on disk 2015-04-07 14:51:10 -03:00
David Capello
5c3e6e4863 Add Ctrl+Shift+Q key to crash the program (only on Win32 + Debug mode) 2015-04-07 14:41:40 -03:00
David Capello
d7e4425cf6 Log information about how much time the backup takes 2015-04-07 14:37:21 -03:00
David Capello
f9a24096d3 Remove unused local variable in doc::write_layer() 2015-04-07 01:28:27 -03:00
David Capello
613e710ccf Support wchar_t* strings on Win32 to open std::ofstreams 2015-04-07 01:28:11 -03:00
David Capello
0bde95650d Save document backups in background session each 5 minutes 2015-04-06 12:06:50 -03:00
David Capello
0a4e710ad7 Add filename arg to fop_to_save_document() 2015-04-06 12:01:08 -03:00
David Capello
d9259afc04 Fix app::Console() to handle a non UI context correctly 2015-04-06 11:58:42 -03:00
David Capello
f907cd0424 Remove unnecessary #include <windows.h> 2015-04-06 08:30:08 -03:00
David Capello
5c6860e7ac Change the way crash sessions are stored on disk
Changes:
* Move classes related to data recovery into app/crash/ directory/namespace
* Rename app::Backup to app::crash::Session
* Rename app::DataRecovery to app::crash::DataRecovery
* Add base::list_files()
* Add base::get_current_process_id() and base::is_process_running()
* Remove base::TempDir
* Save one session for each running process
* Remove sessions that are empty when the program starts
2015-04-05 18:51:43 -03:00
David Capello
e4667149f4 Make HomeView widget more responsive depending on its current size 2015-04-04 18:19:16 -03:00
David Capello
9157e3dd89 Fix invalid Tabs state where the dragged tab was in two Tabs at the same time
We were able to reach the invalid state moving a tab directly from one
Tabs widget to another one, without passing through the floating state.
2015-04-04 18:16:53 -03:00
David Capello
cd24167158 Minor hack to correctly draw the floating tab 2015-04-04 16:49:06 -03:00
David Capello
76cc5185d8 Add special animation when drop a tab into other Tabs 2015-04-04 16:45:58 -03:00
David Capello
6a56e218f2 Show new tab preview to be docked in other Tabs 2015-04-04 16:25:57 -03:00
David Capello
5cef48c846 Try several times to open the Win32 clipboard when we copy images into it 2015-04-04 14:55:06 -03:00
David Capello
1fe8e97465 Avoid storing a refcounter in SharedPtr if we're pointing to nullptr 2015-04-04 14:54:21 -03:00
David Capello
7ba1138b40 Avoid inconsistent states with Workspace::m_dropPreview* members 2015-04-04 14:53:27 -03:00
David Capello
ecc2f06492 Fix Ctrl+Tab (and Ctrl+Shift+Tab) when we have multiple WorkspaceTabs 2015-04-04 14:40:07 -03:00
David Capello
e6c0353e30 Fix Ctrl+Tab in OS X 2015-04-04 14:35:14 -03:00
David Capello
22c3c4f20e Remove implicit SharedPtr conversion to T* 2015-04-02 20:42:43 -03:00
David Capello
d362f85e98 Minor debug cehck in Tabs::onProcessMessage() 2015-04-02 17:59:08 -03:00
David Capello
c0614f2ff0 Tabs: fix minor issues pressing two buttons or dragging with middle button 2015-04-02 17:13:11 -03:00
David Capello
5afee63f6b Avoid calling Tabs::startAnimation() each time Tabs::setDropViewPreview() is called 2015-04-02 16:38:51 -03:00
David Capello
0ebe764893 Don't change cursor for ui::Splitter if the mouse is captured by other widget 2015-04-02 16:18:01 -03:00
David Capello
ff650597cb Avoid referencing a dead WorkspaceTabs from m_dropPreviewTabs 2015-04-02 16:02:24 -03:00
David Capello
13c06d8541 Fix reordering of tabs in docked WorkspaceTabs 2015-04-02 16:01:45 -03:00
David Capello
7da62f84a1 Split workspace panels 50% when they are docked with other sub-panel 2015-04-02 15:48:38 -03:00
David Capello
e24c03f929 Add possibility to move tabs between different WorkspaceTabs widgets 2015-04-02 15:43:50 -03:00
David Capello
294ff0e4f6 Rename src/app/util/misc.[cpp/h] -> new_image_from_mask.[cpp/h] 2015-04-02 09:55:18 -03:00
David Capello
c7379f6ecf Fix problem redrawing the main Tabs when the last tab is closed
For this, on AnimatedWidget, before we call onAnimationStop(), we
set m_animation to 0 to know that there is no animation in progress.
Tabs depends on m_animation to know if it needs extra space when there
are no more tabs (the extra space is used to show the animation that to
collapse Tabs).
2015-04-02 09:43:52 -03:00
David Capello
8cb1892601 DocumentExporter: Use transparent color to trim transparent layer (fix #622) 2015-04-01 17:43:31 -03:00