379 Commits

Author SHA1 Message Date
David Capello
8eb8122bc0 Add widgets to HomeView (icon, new file, open file, and list boxes)
* Add widgets/home_view.xml
* Add possibility to specify style="..." and border="..." in XML widgets
* Add SkinStyleProperty
* Remove Label::get/setTextColor() (replaced with styles)
* Add <image> widget in WidgetLoader
* Paint labels, link labels, and views with styles
2015-02-26 09:53:19 -03:00
David Capello
8c6f55cc41 Add support to reorder tabs (close #118) 2015-02-24 20:10:22 -03:00
David Capello
ff66ea025c Add support to close Home tab with middle mouse button or right-click popup menu 2015-02-22 21:18:53 -03:00
David Capello
b52bcd8c95 Fix close icon style after clicking tabs 2015-02-20 08:53:52 -03:00
David Capello
6064debe13 Add support to close any kind of WorkspaceView (HomeView and DevConsoleView)
* Add WorkspaceView::onCloseView() member function
* Now DevConsoleView is inside MainWindow (just like HomeView)
2015-02-19 22:14:06 -03:00
David Capello
e850c8dbb0 Add an icon to "Home" tab 2015-02-19 21:44:22 -03:00
David Capello
f4e01345c6 Add close/modified icon to tabs 2015-02-19 13:13:25 -03:00
David Capello
13611eb23e White text in Start tab 2015-02-17 16:28:53 -03:00
David Capello
de3e46d879 Draw Tabs widget using styles.
* Add background-repeat style rule to specify how to repeat the
  background image
* Remove PART_TAB_* skin parts from skin_parts.h
2015-02-17 16:03:00 -03:00
David Capello
11386543c8 Add <dimensions> to skin.xml 2015-02-17 12:22:46 -03:00
David Capello
ebdc2700c1 Replace app::skin::get_style() with SkinTheme::Styles 2015-02-17 11:43:25 -03:00
David Capello
69ac11eea2 Remove IDocumentSettings and DocumentSettingsObserver
Document user options are completely replaced with DocumentPreferences.
2015-02-15 09:48:38 -03:00
David Capello
b12a2b5193 Add scope combo for Grid options in Preferences dialog
With this we make it clear what settings we're modifying: the global ones
or the active document ones.
2015-02-14 23:31:11 -03:00
David Capello
8387c7ba3e Fix XML error in pref.xml 2015-02-14 23:20:59 -03:00
David Capello
14cd8576f4 Move "center on zoom" option from General to Editor tab 2015-02-14 22:45:45 -03:00
David Capello
22f35ab249 Independent scroll/zoom in Preview window (part of issue #407) 2015-02-10 12:59:43 -03:00
David Capello
d1d49c5038 Add TogglePreview command (rename "mini-editor" to "preview")
Renamed Preview to FullscreenPreview to avoid confusion.
As an extra "to do", we need to add command aliases, so Preview matches
FullscreenPreview (mainly to keep user defined keyboard shortcuts).
2015-02-10 09:07:04 -03:00
David Capello
52003da721 Merge branch 'feature/continuous-cels' 2015-02-09 11:42:01 -03:00
David Capello
5614b9b366 Add Export Sprite Sheet keyboard shortcut 2015-02-03 12:28:02 -03:00
David Capello
1321de9d58 Merge branch 'master' into feature/continuous-cels 2015-01-30 10:57:32 -03:00
David Capello
06636fd16e Merge branch '1.0'
Conflicts:
	src/app/file/gif_format.cpp
	src/app/file/gif_options.h
	src/app/ui/editor/moving_cel_state.cpp
	src/app/ui/editor/standby_state.cpp
	src/app/util/range_utils.cpp
2015-01-29 12:18:13 -03:00
Manuel Quiñones
bbb72de545 Fix link to the README in Help menu 2015-01-29 11:25:07 -03:00
David Capello
c4d0266b52 Add option to disable animation loop when saving GIF files (fix #585) 2015-01-29 11:24:43 -03:00
David Capello
ce6dc3f790 Add shortcut to toggle the visibility of active layer (fix #587) 2015-01-29 10:32:19 -03:00
David Capello
9d5d911830 Update version to 1.0.9-dev 2015-01-25 19:51:59 -03:00
David Capello
d2ea95716f Add Unlink Cel command 2015-01-20 09:39:12 -03:00
David Capello
052a736a49 Timeline: add UI decorators for linked cels 2015-01-20 09:38:39 -03:00
David Capello
309d1299ae Minor label fix in options.xml 2015-01-20 09:31:20 -03:00
David Capello
15c6ee9046 Remove old layer icons from skin sprite sheet 2015-01-18 22:45:58 -03:00
David Capello
e55865843e Replace undo impl: replace undoers with cmds
Undoers were little objects to swap/revert an action. They didn't
execute the action itself, they just revert its previous state. Now
undoers were replaced with cmds: A cmd is an object that
executes/undoes/redoes just one action.

Changes:
* Remove old undo library and app/objects_container_impl.cpp
  (now we use the doc::ObjectId directly to store undo info)
* Remove all Undoers from app/undoers/
* Replace DocumentApi impl with little Cmds in app/cmd/, these
  cmds handle execute/undo/redo of each action at the logic layer
* Remove doc::Dirty object
* Remove doc::Settings: all undo configuration is in the app side
* Move undo options from app:ISettings to app::Preferences
* Rename UndoTransaction to Transaction
* Create a CmdSequence to store a sequence of Cmds (as now the new
  undo library doesn't support open/close groups)
* Add doc::get<T>(ObjectId) function to get any kind of object
  from the doc library by its ID
* Add Cel::document() and Sprite::document() members
* Add Sprite::cels(frame_t) to get all cels in the given frame
* Add Layer::displaceFrames() member function
* Move the "allow non-linear history" flag from undo2::UndoHistory
  to app::DocumentUndo
2015-01-18 22:05:33 -03:00
David Capello
06d18f1e8a Replace doc::FrameNumber with doc::frame_t 2014-12-28 20:39:11 -03:00
David Capello
da1358c5dc Unify all render code in one library
Changes:
* Create render library (move util/render.cpp to render/render.cpp)
* Move app::Zoom class to render::Zoom
* Remove doc::Image::merge() member function
* Add gfx::Clip helper class (to clip dst/src rectangles before a blit)
* Move doc::composite_image() to render::composite_image()
* Remove doc::Sprite::render()
* Replace Sprite::getPixel() with render::get_sprite_pixel()
* Remove doc::layer_render() function
* Convert DitheringMethod to a enum class
* Add AppRender to configure a render::Render with the app configuration
* Move checked background preferences as document-specific configuration
* Add doc::Sprite::layer() and palette() member functions
* Add doc::Layer::cel() member function
* Add doc::Palette::entry() member function()
* Add doc::frame_t type
* Move create_palette_from_rgb/convert_pixel_format to render library
* ExportSpriteSheet doesn't need a temporary image now that we can specify
  the source rectangle in the render routine
2014-12-28 11:06:11 -03:00
David Capello
73658399cc Add setting/preference classes/enums generator
Changes:
* Add a class (Option<T>) to get/set/listen changes to one specific
  preference option
* Add data/pref.xml with the metadata to generate types/classes (not it's
  quite easy to add new preferences)
* Modify the generator to support generation of .h and .cpp files of
  preference types
* Add code to migrate old options to new ones (and functions to delete
  old values)
* Only a couple of options were migrated at the moment, it is a WIP, in the
  future we should completely remove ISettings and direct calls
  to set/get_config_*
2014-12-14 20:19:31 -03:00
David Capello
709d23606a Remove minor comment in gui.xml 2014-12-13 19:33:26 -03:00
David Capello
5c9240d4d1 Add Ctrl+T to transform the cel content (close #560) 2014-12-13 19:32:58 -03:00
David Capello
afbd3b2d96 Optimize ToolLoop with modified regions of pixels
Here we avoid copying and clearing pixels that will not be used
in the whole tool loop process.
Changes:
* Add several member functions in ToolLoop to validate/invalidate regions
  of source/destination images so we know what regions are safe to use
  by inks and can be shown in the editor
* Add new DocumentObserver::onExposeSpritePixels() member to validate
  pixels that will be displayed in the editor
* Add Ink::needs/createSpecialSourceArea() member functions to validate
  extra areas for inks like blur or jumble
* Add undoers::ModifiedRegion to save the undo information about the
  modified region
* Add ShowHideDrawingCursor class
* Change "blur" tool policy from overlap to accumulate

(This is a real fix for issue #239)
2014-12-08 14:57:56 -03:00
David Capello
5aea29348e Merge branch '1.0'
Conflicts:
	data/gui.xml
	src/app/CMakeLists.txt
	src/app/color_utils.cpp
	src/app/color_utils.h
	src/app/commands/cmd_preview.cpp
	src/app/document_exporter.cpp
	src/app/document_exporter.h
	src/app/ui/editor/standby_state.cpp
	src/config.h
	src/main/resources_win32.rc
2014-12-03 11:15:09 -03:00
David Capello
08f846c83d Convert gui.xml to Unix EOLs 2014-12-02 01:47:54 -03:00
David Capello
a0c8b1f188 Update version to 1.0.8-dev 2014-11-30 21:09:50 -03:00
David Capello
f1cd3bbbe2 Merge branch '1.0'
Conflicts:
	src/app/ui/editor/standby_state.cpp
	src/app/ui/editor/tool_loop_impl.cpp
2014-11-24 21:53:10 -03:00
David Capello
a00a3b2a83 Fix crash changing ConfigureTools options when activeDoc == NULL 2014-11-24 20:52:52 -03:00
David Capello
3437c49f0b Add opacity to grid and grid pixel (close #58) 2014-11-24 19:13:25 -03:00
David Capello
934c9c3fe9 Merge branch '1.0' 2014-11-20 21:48:13 -03:00
David Capello
3645ffe2a5 Change Alt modifier to Shift+Alt to substract selection
This is to avoid conflicts with the eyedropper tool, which can be used
to change the background color.
2014-11-17 07:23:48 -03:00
David Capello
acfe155b24 Merge branch '1.0'
Conflicts:
	src/app/color_picker.cpp
	src/raster/sprite.h
2014-11-16 18:59:30 -03:00
David Capello
c64ee5729b Add "Auto Select Layer" check box to Move Tool (close #527) 2014-11-16 18:33:31 -03:00
David Capello
c0078809f7 Merge branch '1.0'
Conflicts:
	data/gui.xml
	src/config.h
	src/main/resources_win32.rc
2014-11-16 13:26:02 -03:00
David Capello
7b4cd3e136 Re-add Ctrl+Q for Windows and Linux 2014-11-16 12:30:06 -03:00
David Capello
497f0ffee0 Update version 1.0.7-dev 2014-11-13 11:12:25 -03:00
David Capello
228d1e39e6 Update gui.xml and resources_win32.rc versions 2014-11-12 23:35:14 -03:00