Commit Graph

546 Commits

Author SHA1 Message Date
David Capello
1177e02609 Add popup menu to FrameTags in the Timeline
Add a new contextparams attribute to menu items in gui.xml that are feed
by the UI with params (e.g. the FrameTag popup needs to know what exact
tag we should edit, and it's a command Param provided by the Timeline).
2015-03-10 16:44:18 -03:00
David Capello
58d302749c Use a FrameTag for the loop section (fix #557)
Changes:
* Paint FrameTags in Timeline with labels
* Add app::ui::FrameTagWindow
* Fix FrameTag::m_aniDir initialization
* Add warning for files that doesn't support frame tags
* Remove document preferences related to the active loop
2015-03-09 13:57:54 -03:00
David Capello
361a3084fd Merge branch 'new-workspace'
Conflicts:
	src/app/commands/cmd_open_file.cpp

Fixes:
	src/app/ui/timeline.cpp
2015-03-04 22:41:34 -03:00
David Capello
057532e7d7 Cache RSS news file 2015-03-04 19:24:37 -03:00
David Capello
200e612670 Simplify Workspace implementation removing the possibility to split views/tabs
It's confusing to see two tabs when we split the view. In the future we
should be able to move tabs to create a split view.
2015-03-04 17:23:40 -03:00
David Capello
37781c99ea Show blog posts in NewsListBox 2015-03-02 19:54:24 -03:00
David Capello
b8ed98bd8b Add native file open/save dialog (only win32 at the moment, issue #321) 2015-03-02 16:07:35 -03:00
David Capello
8f8291a39b Hide colorbar and toolbar when we're in Home tab 2015-03-02 14:43:44 -03:00
David Capello
6862e02805 Add list of recent files and folders in Home tab
* Add LinkLabel::onClick()
* Use Widget instead of ListItem in ListBox API
* Add TextRule::padding() and use it to calculate the preferred size
  for a skin::Style's rules
2015-03-02 11:18:33 -03:00
David Capello
bf27db12e6 Make the "new update" link more noticeable (using a special style) 2015-02-27 20:45:15 -03:00
David Capello
35623cae88 Move "new update" notification from menu bar to HomeView 2015-02-26 12:28:26 -03:00
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
2dac7f3869 Add Frame Tags Properties dialog/command 2015-02-20 11:42:59 -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
b2ccf7a017 Add copyright in gui.xml 2015-02-19 20:30:04 -03:00
David Capello
4376647fcd Use generated FrameProperties widget in FramePropertiesCommand 2015-02-19 20:29:48 -03:00
David Capello
f4e01345c6 Add close/modified icon to tabs 2015-02-19 13:13:25 -03:00
David Capello
adf3e6c00d Add AniDir as a FrameTag property (it's persisted in .ase files) 2015-02-19 13:05:39 -03:00
David Capello
9f8505f490 Add Remove Frame Tag command 2015-02-18 11:44:54 -03:00
David Capello
13611eb23e White text in Start tab 2015-02-17 16:28:53 -03:00
David Capello
9e734b2e8c Add NewFrameTag command 2015-02-17 16:12:10 -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
David Capello
8716214718 Add SetLoopSection command and F2 keyboard shortcut (close #491) 2014-11-08 19:57:46 -03:00
David Capello
cd913f7619 Do not center editor scroll by default when we zoom with keys or zoom tool 2014-11-07 19:11:23 -03:00
David Capello
d69a418017 Minor layout changes in SelectAccelerator window 2014-10-30 00:33:40 -03:00
David Capello
d90150fed9 Move button to delete shortcuts from SelectAccelerator to KeyItem 2014-10-29 22:06:25 -03:00
David Capello
f939ef5f02 Add keyboard shortcuts customization (close #253)
Changes:
* Add KeyboardShortcutsCommand and window
* Add SelectAccelerator window
* Replace modules/gui.cpp functions with app::KeyboardShortcuts and
  app::Key with the logic to load/save/handle keyboard shortcuts
* Change ui::Accelerator concept: now it represent just one keyboard
  shortcut, not a set of shortcuts
* Remove ui::Accelerator from ui::MenuItem, now the key is associated
  in app::AppMenuItem and it's a app::Key
* Add Command::onGetFriendlyName() to get a user friendly name of the
  command depending on its parameters
2014-10-29 11:58:03 -03:00
David Capello
d327ab536f Add "View > Show Pixel Grid" menu option to switch the pixel grid 2014-10-29 10:36:50 -03:00
David Capello
c6aedc117a Add Alt+Shift+G shortcut to toogle the pixel grid visibility (fix #504) 2014-10-26 00:48:15 -03:00
David Capello
d68f1fa1b8 Add experimental option to flash the selected layer when Up/down array keys are used (fix #111) 2014-10-25 16:04:39 -03:00
David Capello
21b0f64a34 Add Cmd+, and Ctrl+K keyboard shortcuts to open preferences 2014-10-25 11:49:24 -03:00
David Capello
bb24d8b995 Add option to enable/disable automatic menu bar items popup (related to issue #501) 2014-10-25 11:24:29 -03:00
David Capello
4188fa1408 Add ReverseFramesCommand (fix #503) 2014-10-24 11:37:52 -03:00
David Capello
81d725e8c3 Update version to 1.0.6-dev 2014-10-23 10:58:09 -03:00
David Capello
546d3af5e8 Fix problems clearing background cels
- The background color to clear is calculated in one place: DocumentApi
- Rename RemoveCel command to ClearCel
2014-09-17 09:53:25 -03:00
David Capello
993ed28991 Update version to 1.0.5-dev 2014-09-09 08:52:22 -03:00
David Capello
d14a0fe075 Add "Size" options in CanvasSizeCommand to specify width/height
- Added canvas icons to change the expansion direction in CanvasSizeCommand
- Added Widget::at() and Widget::offerCapture() member functions
- Improved ButtonSet widget
2014-09-08 02:27:41 -03:00
David Capello
7e40d05119 Merge pull request #465 from msisinni/patch-1
Add Google's UI color palette
2014-08-29 21:25:29 -03:00
msisinni
2ddfcc56d1 Added color names 2014-08-29 13:14:13 -04:00
David Capello
55fca6a89f PalettePopup: Show three buttons: "Load", "Set as Default", and "Open Folder"
This is to show the "Set as Default" option when there is an open
document.
2014-08-29 09:42:07 -03:00
David Capello
a2107f5bd9 Mac OS X: Avoid Cocoa error beep when a Cmd+key is used
This change should be reverted in some way when the OS X menus
are implemented (issue #135)
2014-08-28 09:50:32 -03:00
David Capello
a122b2d3c6 Add Alt+C as shortcut for RemoveFrame 2014-08-28 09:04:49 -03:00
msisinni
85d1baa26b Based on Google's UI color palette
http://www.google.com/design/spec/style/color.html#color-ui-color-palette
2014-08-26 01:58:56 -04:00
David Capello
58b3e09d86 Remove all "infinite scroll" stuff to avoid changing mouse position (fixes #350)
Changing the mouse position isn't user-friendly in desktop apps, and
has several problems in some platforms (Mac OS X). In this way we've
changed the approach to handle the mouse position when it goes outside
the ui::Editor viewport.
2014-08-25 22:49:19 -03:00
David Capello
d4f056100b Now we can rotate the current cel or a range of cels (related to issue #161) 2014-08-25 09:06:38 -03:00
David Capello
0aea78318a Now you can move the selection with arrow keys when it is visible 2014-08-25 00:55:54 -03:00
David Capello
355ecbb2af Add space bar as modifier
Now we can scroll with space bar + arrow keys
2014-08-24 23:40:33 -03:00
David Capello
4e061d1a56 Add , and . shortcuts to navigate frames 2014-08-24 23:32:17 -03:00
David Capello
522e9a0337 Add Shift/Alt modifiers to selection tools to change Union/Subtract modes (fix #217) 2014-08-24 19:19:38 -03:00
David Capello
6c571adbd4 Add Alt+B shortcut to create new empty frames 2014-08-24 18:01:52 -03:00
David Capello
44c6f9400e Add a notification to report the last crash 2014-08-20 00:11:19 -03:00
David Capello
7144457249 Change Ctrl+I (or Cmd+I) shortcut to ImportSpriteSheet (as InvestColor is generally not used in pixel art) 2014-08-19 08:22:04 -03:00
David Capello
9a15126682 Fix issue 188: Pick foreground color with right mouse button 2014-08-19 08:17:57 -03:00
David Capello
d0a7831589 Add document icon 2014-08-18 23:51:57 -03:00
David Capello
9ab62149aa Minor fix in 64x64 version of ase.ico 2014-08-18 23:36:12 -03:00
David Capello
6db36fe30b Add ZoomCommand so zoom keys are configured in gui.xml file 2014-08-13 00:22:29 -03:00
David Capello
dde7915c24 ExportSpriteSheet: Fix "Height" combobox to make it editable 2014-08-12 07:29:57 -03:00
David Capello
df3c16b802 Add more options to export sprite sheet (e.g. best fit for texture) 2014-08-11 11:33:17 -03:00
David Capello
c936a792ab Add export_sprite_sheet.xml widget 2014-08-11 07:27:10 -03:00
David Capello
a767eb187d Add layer_properties.xml widget 2014-08-11 06:57:22 -03:00
David Capello
1c324c9b14 Add experimental option to use native mouse cursors (and some renames of cursor names) 2014-08-10 19:51:14 -03:00
David Capello
f48440fe71 Use the generated app::gen::Options widget for OptionsCommand 2014-08-10 01:12:31 -03:00
David Capello
303595689f Use generated widget app::gen::NewSprite in NewFileCommand 2014-08-09 21:45:07 -03:00
David Capello
d23fa2230b Implement option to generate one optimized palette for all frames when we save a .gif file 2014-08-09 12:51:11 -03:00
David Capello
bebc129a4d Remove rounded corners to minifont.png to make it more readable 2014-08-09 10:45:06 -03:00
David Capello
626ec1d2ba Add MoveTaskCommand: now you can move the selection with Shift+arrow keys 2014-08-08 01:00:02 -03:00
David Capello
6d1602f278 Minor change in gui.xml 2014-08-07 20:26:02 -03:00
David Capello
d74944c885 Updated NES palettes (issue 411 for details and authors) 2014-08-06 08:57:41 -03:00
David Capello
fcfaacd4d7 Update version to 1.0.3-dev 2014-08-06 00:50:35 -03:00
David Capello
a856cdf8bd Add support for command key in Mac OS X platform
Other change:
- Fixed ui::Message::onlyCtrl/Shift/AltPressed() member functions
2014-08-06 00:42:50 -03:00
David Capello
411ceda0e7 Add options to save GIF files (how to quantize palettes mainly)
* Added "context" parameter to save/load routines so we can test them.
2014-07-19 22:01:39 -03:00
David Capello
958d8f922f Merge branch 'next' into dev 2014-07-11 01:15:30 -03:00
David Capello
6861bd7bb7 Minor change in options dialog 2014-07-06 20:51:27 -03:00
David Capello
950a9fe82f Add button to create new folders in FileSelector (issue 233) 2014-06-28 18:01:32 -03:00
David Capello
0b8d88d6ee Add "slice" ink and tool (it is not yet implemented) 2014-06-27 22:58:38 -03:00
David Capello
331688bd86 Add "Zoom with Scroll Wheel" option (on/true by default) 2014-06-22 22:35:51 -03:00
David Capello
0c250df97a Separate Options dialog in different sections
* Add ui::Panel widget
2014-06-22 21:56:04 -03:00
David Capello
abe957f037 Update version to 1.0.2 2014-06-15 12:03:23 -03:00
David Capello
c639b4dba3 Add "dots" freehand algorithm (change to ButtonSet the selection of FreehandAlgorithm) 2014-06-15 04:14:53 -03:00
David Capello
9ac51fd0be Rename raster::Pen -> raster::Brush 2014-06-14 15:09:43 -03:00
David Capello
3c959233b6 Add link label in Options dialog to locate the configuration file 2014-06-13 23:00:49 -03:00
David Capello
d8d637a056 New version 1.0.1 in dev 2014-06-09 22:05:19 -03:00
David Capello
dbe4f872c5 New icon 2014-06-04 00:44:43 -03:00
David Capello
ed6c0f986d ColorSelector: Add WarningIcon to add colors to the palette
Simplified the color selector UI. Now RGB/HSV colors are shown correctly
and a new warning icon/button is visible when the color is not part of
the current palette. This button can be used to quickly add the new entry
to the palette.
2014-06-01 18:15:11 -03:00
David Capello
dc5a019c13 ContextBar: Add buttons to drop the selection or cancel the whole operation
- Add ContextBarObserver (and MovingPixelsState implements this interface)
- PixelMovements::discardImage() receives a "commit" flag to do a rollback
  of the operation if the user needs it.
2014-05-26 00:20:16 -03:00
David Capello
08fb98d40d New notifications area at the top-right corner 2014-05-25 11:21:10 -03:00
David Capello
8d3b132082 Change ConfigureTimelinePopup layout 2014-05-18 16:49:24 -03:00
David Capello
a15aea5ed7 Add timeline options for onion skin, loop section, and animation direction
- Add red/blue onion skin type
- Add app::calculate_next_frame() function to calculate the next frame
  depending of the timeline configuration (loop range, animation direction)
- Add app::finder() to simplify the access to widgets loaded from xml files
2014-05-17 21:27:44 -03:00
David Capello
43ed994812 Add more palettes 2014-05-09 00:30:15 -03:00
David Capello
391a5c0bf4 Add command to switch onion skin visibility 2014-05-08 08:47:45 -03:00
David Capello
5a45d1ec23 Remove the number of colors entry field from "New Sprite" dialog
This field is disabled, and the program isn't ready to support less than
256 colors in Indexed mode, so it's better if we remove this field to avoid
confusion.
2014-05-06 00:08:43 -03:00
David Capello
fa204baf42 Easier way to reference the program website in commands 2014-05-05 21:28:58 -03:00
David Capello
e624b391c2 Fix quickref link 2014-05-05 21:28:20 -03:00
David Capello
6774ec89f9 Update URL in gui.xml 2014-05-03 17:05:54 -03:00
David Capello
a445ec4b07 Minor change in sprite_properties.xml (change box -> hbox/vbox/boxfiller) 2014-05-02 20:09:18 -03:00
David Capello
c879d114e0 Version 1.0.0 2014-05-02 19:58:34 -03:00
David Capello
d298c55238 Make "Transparent Color" tooltip smaller in SpriteProperties dialog 2014-05-02 19:47:41 -03:00
David Capello
f60d1c5c4f Add "Cancel" option to cel_movement_popup (popup when you move cels in the Timeline) 2014-05-02 11:55:44 -03:00
David Capello
5ba85c01dc Improve "Load" button label in PalettePopup to know what it does when there is no active document 2014-04-19 20:52:36 -03:00
David Capello
4c706afb90 New zoom tool 2014-04-19 20:08:21 -03:00
David Capello
1ab7de6668 Adjust some skin colors in filelist and selected background 2014-04-19 19:04:45 -03:00
David Capello
05507408e1 Remove hardcoded value from main_window.xml for the color bar splitter 2014-04-17 16:23:09 -03:00
David Capello
113d0d4df9 Add pixel art palettes
From Richard 'DawnBringer' Fhager and Arne Niklas Jansson.
2014-04-17 01:38:13 -03:00
David Capello
c8c8738ef8 Add PalettePopup in ColorBar to load predefined palettes from data/palette/
- Add PalettesLoader helper class to load palettes in background
- Add PaletteListBox widget
- Add PalettePopup widget
2014-04-17 01:35:02 -03:00
David Capello
5567e3dfc5 main_window.xml: Give more space to the ContextBar 2014-04-13 16:35:11 -03:00
David Capello
e310ef1428 Change StatusBar colors 2014-04-13 13:51:28 -03:00
David Capello
44c9bb520d Fix borders in ColorBar 2014-04-13 13:40:33 -03:00
David Capello
71b7000c8a Update links 2014-04-12 12:28:34 -03:00
David Capello
942dba36fd Timeline: add support to move/copy ranges (multiple cels/frames/layers)
- Merge Timeline::STATE_MOVING_LAYER/CEL/FRAME to STATE_MOVING_RANGE.
- Remove celmove.h/cpp and move_cel/copy_cel functions. Now they are
  in the Timeline as dropRange/Cels/Frames/Layers member functions.
- Add DocumentApi::copyFrame/moveCel/copyCel member functions.
- Add timeline_drop_layer_deco and timeline_drop_frame_deco skin parts.
- Move code from DuplicateLayerCommand::onExecute() to new member
  function DocumentApi::duplicateLayer().
- Fix a bug changing Cel's frame number: we weren't updating the Cel
  position properly inside the LayerImage::m_cels collection. Now we use
  LayerImage::moveCel() to change the Cel frame number.
- Other fixes to DocumentApi: Change bgcolor from int to color_t.
2014-04-09 21:56:06 -03:00
David Capello
7ea7521f6a TimeLine: add range outline and hot state
This is the first step to improve the copy/move of ranges in the timeline.
2014-03-30 12:53:57 -03:00
David Capello
b16bf981d0 Implement issue #265 - command/keyboard shortcut for "last export" operation
- Add doc::ExportData with information about the last export operation.
- Add RepeatLastExport command.
- Add SaveFileBaseCommand as base Command class, to accept "filename"
  param.
- Add parameters to ExportSpriteSheet so we can call it without UI
  from "repeat last export".
2014-03-29 16:58:35 -03:00
David Capello
ccdbfd1cf5 Remove Ctrl+Q shortcut for Exit (it remains reserved for other purposes in the future) 2014-03-29 15:42:13 -03:00
David Capello
04a0845a62 SkinTheme: paint windows using styles 2014-03-21 00:28:01 -03:00
David Capello
e082cd96f1 Make ScreenScale option configurable through UI 2014-02-08 00:19:20 -03:00
David Capello
eee1719109 Implemented issue 260: Scroll-bars for sprite editor 2014-01-26 13:28:11 -03:00
David Capello
11f864da12 Minor changes in skin parts to improve context bar buttons 2014-01-26 11:03:32 -03:00
David Capello
9423b967ab Change selection behavior: left-click replace the selection
With this patch we replace the "unique/odd" behavior of Aseprite where
you add selection regions with left-click and remove with right-click.
Now by default you replace the selection with left-click (as in regular
gfx programs). Also you can change the selection tool behavior with
buttons/icons at the context bar (to select between replace/add/subtract).
2014-01-25 17:58:29 -03:00
David Capello
400a2c1993 Timeline: Add support to delete several cels at once 2013-12-22 18:52:25 -03:00
David Capello
b4d9e3c9ca Timeline: Add button and handles to configure onionskin range 2013-12-18 00:01:55 -03:00
David Capello
ccb24cad35 Timeline: fix minor details in padding drawing code 2013-12-15 17:49:46 -03:00
David Capello
9806e33876 Timeline: Add code to show equal keyframes joined
This code is disabled at the moment because there isn't a fast way
to compare frames.
2013-12-15 14:02:00 -03:00
David Capello
3c861f1a7e Show timeline automatically when a new frame/layer is created (configurable option) 2013-12-15 12:58:14 -03:00
David Capello
bcab165700 Timeline: improve look & feel of range selections 2013-12-15 09:42:05 -03:00
David Capello
4e917fc81c Add padding to text style 2013-12-11 01:35:40 -03:00
David Capello
4bd4aac429 Add styles to the Timeline widget
- Added support for styles to SkinTheme and skin.xml.
- Added app::skin::Style/Rule/BackgroundRule/IconRule/TextRule classes.
- Added app::skin::SkinPart class to refer to one part (BITMAP) of
  the skin sheet.
- Renamed app::skin::SkinPart to SkinParts as now SkinPart is a class.
2013-12-11 00:34:16 -03:00
David Capello
f3a9f97513 Fix new Unicode font, issue 294 (missing range of Cyrillic script) 2013-11-25 23:39:41 -03:00
David Capello
59c1c93f29 Add some German and Russian Unicode characters to font.png (to fix issue 294) 2013-11-25 20:32:43 -03:00
David Capello
ddf4a13490 Add the Palette menu with Load/Save commands 2013-11-15 16:56:50 -03:00
David Capello
af3df61ca3 Fix main_window.xml to show the ContextBar again 2013-11-10 19:06:37 -03:00
David Capello
b0cd01b425 Add the old "Animation Editor" as a timeline at the bottom of sprite editors (Workspace)
- Renamed AnimationEditor (dialogs/aniedit.h) to Timeline
  class (app/ui/timeline.h)
- Renamed FilmEditor command to Timeline
2013-11-10 18:27:11 -03:00
David Capello
fd6e4ccc21 Add support for transparent background color for ui::Slider to draw ui::IntEntry popup window without background 2013-04-03 21:17:12 -03:00
David Capello
d259b5c394 Add experimental webserver API and home page
Added webserver::IRequest/IResponse/IDelegate interfaces.
2013-04-01 19:37:02 -03:00
David Capello
ce6b186e1b Remove tool configuration from ConfigureTools command (it's in ContextBar now) 2013-03-30 21:46:35 -03:00
David Capello
7c15aee0a5 Use new Entry suffixes in SpriteSizeCommand 2013-03-30 20:10:54 -03:00
David Capello
bf745b1033 Add ContextBar in the MainWindow 2013-03-30 13:43:00 -03:00
David Capello
3171bd5ce7 Fix widgets borders using the "sunken_normal" SkinTheme part
Now the background color of the parent widget is used to draw the borders.
2013-03-30 13:27:38 -03:00
David Capello
f805a83527 Add entry_suffix color for skin theme 2013-03-29 16:27:08 -03:00
David Capello
9b8e87da10 Update copyright year to 2013 2013-01-27 12:13:13 -03:00
David Capello
544a63cc28 Add "play" button in MiniEditorWindow (UI only)
At this moment the button isn't functional because the current frame
position is stored in the sprite (instead of the Editor). In this case,
when the "play" button is pressed, the mini-editor should show other
frames instead of the current one (should play the whole animation).
2013-01-20 21:58:16 -03:00
David Capello
337af9715e Minor change in document_tab_popup labels 2013-01-20 18:41:38 -03:00
David Capello
ed90055bf7 Replace modules/editors.cpp with widgets::Workspace class
Now we have one editor for each Document we want to edit. Before we were
creating one editor and switching the document on it, but now we have
several Editors (one for each opened Document). This simplifies the
Document implementation, because it doesn't need to know temporal
Editor information (like "preferred editor settings").

- Removed all code from modules/editors.cpp (legacy from C code).
- Removed PreferredEditorSettings class and
  Document::getPreferredEditorSettings().
- Added Workspace/WorkspaceView classes.
- Added DocumentView (a DocumentObserver).
- Added MiniEditorWindow class.
- Removed SelectFileCommand & CloseEditorCommand.
- Added TabView interface instead of using a raw void* in
  Tabs/TabsDelegate classes.
- Modified editors_draw_sprite() calls to Document::notifySpritePixelsModified
  notifications.
- The "current_editor" global variable wasn't removed because it's
  used in several places yet, but it will be removed in the near future.
  (Also this variable now can be NULL when we don't have an opened
  document.)
2013-01-20 18:40:37 -03:00
David Capello
a517deee0d Add ui::Color and ThemeColor, move Color to app::Color
Now colors are customizable from skin.xml file.
2013-01-06 14:45:43 -03:00
David Capello
3aad5a570c Update version to 0.9.6-dev 2012-08-24 21:42:46 -03:00
David Capello
525851e6a1 The color bar is now resizable.
- Added Splitter::Type so it can be by pixel or by percentage.
- Added Widget::load/saveLayout functions and Widget::onLoad/SaveLayout
  events.
- Added LayoutIO interface so we can delegate the serialization of the
  layout.
2012-07-18 01:10:43 -03:00
David Capello
6caaca8179 Advance to 0.9.4-dev version. 2012-07-11 18:32:07 -03:00
David Capello
5d26b90276 Implement issue #129 - Return to frame/layer where action is undone. 2012-07-10 18:26:08 -03:00
David Capello
cd23721a97 Add MainWindow & MainMenuBar, and replace rootmenu module with AppMenus class.
Also the ToolBar widget was published in the toolbar.h header file.
2012-07-09 13:20:58 -03:00
David Capello
9b9daca59f Add "LockAxis" key (Shift) to move the selection in X or Y axis only.
Now "Alt" modifier is the key used to snap to grid the selection.
2012-07-06 19:51:40 -03:00
David Capello
11d20a6e33 Add links to README file and Twitter account in Help menu. 2012-07-06 19:26:36 -03:00
David Capello
02e8c66da4 Remove signals and hooks in GUI code.
Several refactoring tasks where made:
- Removed the old Widget::id field (JID).
- Renamed Widget::get/setName to get/setId.
- Moved load_widget_from_xmlfile() to app::load_widget and WidgetLoader
  class.
- Removed jhook structure & jwidget_add_hook function. Hooks were replaced
  subclassing widgets.
- Added InitThemeEvent class and Widget::onInitTheme member function.
2012-06-15 23:37:59 -03:00
David Capello
1029792a25 Update gui.xml file to 0.9.3-dev. 2012-05-27 21:10:50 -03:00
David Capello
390c0136ad Update version of gui.xml file. 2012-04-05 19:35:14 -03:00
David Capello
55a4002ec5 Add posibility to scroll by-tiles using Ctrl+arrow keys (Paul Pridham idea).
+ Added ScrollCommand.
2012-04-04 00:49:13 -03:00
David Capello
3ed8d5b565 The version in the repository will be "-dev" always. 2012-02-14 20:01:02 -03:00
David Capello
7354bb83cb Update gui.xml version. 2012-02-14 18:41:37 -03:00