Commit graph

937 commits

Author SHA1 Message Date
gambas
d61741474f ScrollArea and all its children classes now can animate their scrolling.
[DEVELOPMENT ENVIRONMENT]
* NEW: Update Gambas fonts.
* NEW: Option dialog: Add an option to enable control animations. Move the toolbar size option to the 'Fonts' panel.

[GB.GTK]
* NEW: Application.Animations is a new property that enable or disable control animations.

[GB.GTK3]
* NEW: Application.Animations is a new property that enable or disable control animations.
* NEW: Control.Font is now implemented using GTK+ CSS.

[GB.GUI.BASE]
* NEW: ScrollArea: Animate scrolling if Application.Animations is set.

[GB.QT4]
* NEW: Application.Animations is a new property that enable or disable control animations.

[GB.QT5]
* NEW: Application.Animations is a new property that enable or disable control animations.
2018-09-05 21:19:57 +02:00
gambas
ee674d9068 Many fixes to the GTK+3 components, and rewrite the SpinBox control in Gambas.
[GB.GTK]
* NEW: Remove the native SpinBox implementation.
* BUG: Add specific fixes for breeze and oxygen themes.

[GB.GTK3]
* NEW: Remove the native SpinBox implementation.
* BUG: ComboBox: Fix rendering.
* BUG: ComboBox: Use a GtkBox instead of the deprecated GtkAlignment.
* BUG: Style: Fix some paint methods and metric properties.
* BUG: Add specific fixes for breeze and oxygen themes.

[GB.GUI.BASE]
* NEW: SpinBox: New implementation of the control in Gambas.
* BUG: ProgressBar: Fix rendering with GTK+ components.

[GB.QT4]
* NEW: Remove the native SpinBox implementation.
* NEW: RadioButton: Fill the widget when the background color is set.
* BUG: Style: Fix some metric properties.

[GB.QT5]
* NEW: Remove the native SpinBox implementation.
* NEW: RadioButton: Fill the widget when the background color is set.
* BUG: Style: Fix some metric properties.
2018-09-04 15:56:23 +02:00
gambas
9a4c951db4 Make the component compile again.
[GB.QT4.EXT]
* BUG: Make the component compile again.
2018-09-01 09:57:23 +02:00
gambas
83eed9707d Merge branch 'jit-with-c' 2018-06-13 00:45:19 +02:00
gambas
c671adfd6b Work continues on new JIT system.
[INTERPRETER]
* OPT: String searching (Instr, RInstr and Replace) has been made about 4x faster by searching the first occurence with memchr() and memrchr().

[GB.FORM.TERMINAL]
* BUG: Fix warning messages.

[GB.JIT]
* BUG: Fix byte, short and boolean pushing and popping routines.
* BUG: Fix string values referencing.
* BUG: Fix optional argument management.
* NEW: Optimization of bits management subroutines.

[GB.QT4]
* BUG: Delay hooks initialization, because now socket notifiers must not be used before creating the event loop.

[GB.QT5]
* BUG: Delay hooks initialization, because now socket notifiers must not be used before creating the event loop.
2018-06-11 18:56:39 +02:00
gambas
3454c0cd29 The Move() and Resize() methods now correctly update the contents of windows.
[GB.QT4]
* BUG: The Move() and Resize() methods now correctly update the contents of windows.

[GB.QT5]
* BUG: The Move() and Resize() methods now correctly update the contents of windows.
2018-06-01 16:01:51 +02:00
gambas
352bf8230d Fix use of QFont::setStyleName()
[GB.QT4]
* BUG: Don't use QFont::setStyleName() if Qt version is not at least 4.8.

[GB.QT5]
* BUG: Call QFont::setStyleName() last, as it may be buggy if Qt version is not at least 5.3.
2018-05-12 19:38:38 +02:00
gambas
c88b94cfbd Don't center modal forms if they have been explicitely moved.
[GB.QT4]
* BUG: Don't center modal forms if they have been explicitely moved.

[GB.QT5]
* BUG: Don't center modal forms if they have been explicitely moved.
2018-04-13 17:06:00 +02:00
gambas
cb9f245c3d ScrollView: The background and foreground colors are now applied to the entire widget.
[GB.QT4]
* NEW: ScrollView: The background and foreground colors are now applied to the entire widget.

[GB.QT5]
* NEW: ScrollView: The background and foreground colors are now applied to the entire widget.
2018-04-06 00:18:59 +02:00
gambas
15f0960ab7 Never disable the Qt GLib event loop, even on KDE.
[GB.QT4]
* NEW: Never disable the Qt GLib event loop, even on KDE.

[GB.QT5]
* NEW: Never disable the Qt GLib event loop, even on KDE.
2018-03-16 01:58:52 +01:00
gambas
b9de5d027c Workaround a new bug in QT5 that prevents some bold fonts from being seen.
[GB.QT5]
* BUG: Workaround a new bug in QT5 that prevents some bold fonts from being seen.
2018-03-08 02:35:09 +01:00
gambas
69abff8f73 Menu.Closed property now takes the menu proxy into account.
[GB.QT4]
* BUG: Menu.Closed property now takes the menu proxy into account.

[GB.QT5]
* BUG: Menu.Closed property now takes the menu proxy into account.
2018-03-06 23:35:59 +01:00
gambas
c6587f6116 Fix render of Slider controls with Breeze theme.
[GB.QT4]
* BUG: Fix render of Slider controls with Breeze theme.

[GB.QT5]
* BUG: Fix render of Slider controls with Breeze theme.
2018-03-03 03:12:24 +01:00
gambas
581167f60e Remove a debugging message.
[GB.QT5]
* BUG: Remove a debugging message.
2018-02-26 17:34:01 +01:00
gambas
6b7b59c476 Clipboard.HasChanged is a new property that returns if the clipboard contents has changed since the last call to Clipboard.Paste().
[GB.GTK]
* NEW: Clipboard.HasChanged is a new property that returns if the clipboard contents has changed since the last call to Clipboard.Paste().

[GB.GTK3]
* NEW: Clipboard.HasChanged is a new property that returns if the clipboard contents has changed since the last call to Clipboard.Paste().

[GB.QT4]
* NEW: Clipboard.HasChanged is a new property that returns if the clipboard contents has changed since the last call to Clipboard.Paste().

[GB.QT5]
* NEW: Clipboard.HasChanged is a new property that returns if the clipboard contents has changed since the last call to Clipboard.Paste().
2018-02-26 04:03:21 +01:00
gambas
c8d6b096e7 Get rid of spurious "selection too old" messages from Qt xcb platform plugin.
[GB.QT5]
* BUG: Get rid of spurious "selection too old" messages from Qt xcb platform plugin.
2018-02-23 21:50:18 +01:00
gambas
5969cc0062 Menu.Closed is a new property that returns if a popup menu is closed.
[GB.GTK]
* NEW: Menu.Closed is a new property that returns if a popup menu is closed.

[GB.GTK3]
* NEW: Menu.Closed is a new property that returns if a popup menu is closed.

[GB.QT4]
* NEW: Menu.Closed is a new property that returns if a popup menu is closed.

[GB.QT5]
* NEW: Menu.Closed is a new property that returns if a popup menu is closed.
2018-02-23 04:05:27 +01:00
gambas
09a0573e61 Replace my old sourceforge mail address by the new one.
[CONFIGURATION]
Replace my old sourceforge mail address by the new one.
2018-02-12 02:53:46 +01:00
gambas
066c25c7aa Image.FromString() and Picture.FromString() are two new methods that load an image from the contents of a string.
[GB.GTK]
* NEW: Image.FromString() and Picture.FromString() are two new methods that load an image from the contents of a string.

[GB.GTK3]
* NEW: Image.FromString() and Picture.FromString() are two new methods that load an image from the contents of a string.

[GB.IMAGE.IO]
* NEW: Image.FromString() and Picture.FromString() are two new methods that load an image from the contents of a string.

[GB.QT4]
* NEW: Image.FromString() and Picture.FromString() are two new methods that load an image from the contents of a string.

[GB.QT5]
* NEW: Image.FromString() and Picture.FromString() are two new methods that load an image from the contents of a string.
2018-01-06 17:05:49 +01:00
gambas
e3f941c7e2 Use a dedicated stream for locks, and ignore Application.Busy when displaying a message box.
[DEVELOPMENT ENVIRONMENT]
* OPT: Don't load the help browser form immediately to speed up IDE starting.

[INTERPRETER]
* NEW: Use a dedicated stream for locks, so that the File object returned by LOCK cannot be used for reading or writing the locked file.

[GB.GTK]
* NEW: Ignore Application.Busy when displaying a message box.

[GB.GTK3]
* NEW: Ignore Application.Busy when displaying a message box.

[GB.QT4]
* NEW: Ignore Application.Busy when displaying a message box.

[GB.QT5]
* NEW: Ignore Application.Busy when displaying a message box.
2017-12-18 13:02:39 +01:00
gambas
5e79f29fdc Fix some gcc compiler warnings.
[COMPILER]
* BUG: Fix some gcc warnings.

[GB.QT4]
* BUG: Clipboard.Paste() correctly converts image to ARGB premultiplied format.

[GB.QT5]
* BUG: Clipboard.Paste() correctly converts image to ARGB premultiplied format.

[GB.PCRE]
* BUG: Fix a gcc warning.
2017-11-10 20:35:27 +01:00
gambas
a048b76368 Define the parent window of a modal dialog the same way in all GUI components.
[GB.QT4]
* BUG: Define the parent window of a modal dialog the same way in all GUI components.

[GB.QT5]
* BUG: Define the parent window of a modal dialog the same way in all GUI components.

[GB.GTK]
* BUG: Define the parent window of a modal dialog the same way in all GUI components.

[GB.GTK3]
* BUG: Define the parent window of a modal dialog the same way in all GUI components.
2017-10-23 23:10:49 +02:00
gambas
a2e9261032 Fix minimum value of Font.Grade property in GTK+ components.
[GB.GTK]
* BUG: Fix minimum value of Font.Grade property.

[GB.GTK3]
* BUG: Fix minimum value of Font.Grade property.

[GB.QT4]
* BUG: Share Font.Grade minimum and maximum values between QT and GTK+ components.
2017-09-29 21:03:35 +02:00
gambas
ed41d9dcf1 Don't crash when generating missing leave events after having closed a popup menu.
[GB.QT5]
* BUG: Remove some warnings.
* BUG: Don't crash when generating missing leave events after having closed a popup menu.
2017-09-26 12:16:54 +02:00
gambas
7f3ddad0b7 Fix pasting from clipboard when data is in UTF-16 or UTF-32 format.
[GB.QT4]
* BUG: Fix pasting from clipboard when data is in UTF-16 or UTF-32 format.
2017-09-23 13:24:38 +02:00
gambas
24bbfdc2b2 Fix menu proxy management that could lead to a crash.
[GB.QT4]
* BUG: Fix menu proxy management that could lead to a crash.

[GB.QT5]
* BUG: Fix menu proxy management that could lead to a crash.
2017-09-09 01:36:45 +02:00
gambas
54a0ce9d31 More keyboard events debugging messages.
[GB.QT4]
* NEW: More keyboard events debugging messages.

[GB.QT5]
* NEW: More keyboard events debugging messages.
2017-09-07 22:17:26 +02:00
gambas
b4899b113b Add an environment variable that toggles key event debugging messages for bug #1161.
[GB.QT4]
* NEW: Add an environment variable that toggles key event debugging messages for bug #1161.

[GB.QT5]
* NEW: Add an environment variable that toggles key event debugging messages for bug #1161.
2017-09-07 22:00:17 +02:00
gambas
c02be7127f Fix ComboBox look with Oxygen style.
[GB.QT4]
* BUG: Fix ComboBox look with Oxygen style.

[GB.QT5]
* BUG: Fix ComboBox look with Oxygen style.
2017-09-02 03:43:23 +02:00
gambas
7f559678f9 [GB.QT4]
* BUG: DblClick event raises the MouseDown event in all cases now.

[GB.QT5]
* BUG: DblClick event raises the MouseDown event in all cases now.
2017-08-26 18:18:14 +02:00
gambas
358e18707b [GB.QT4]
* NEW: Application.DblClickTime is a new property that returns the double-click time interval.
* BUG: DblClick event also raises the MouseDown event just before, as in gb.gtk.

[GB.QT5]
* NEW: Application.DblClickTime is a new property that returns the double-click time interval.
* BUG: DblClick event also raises the MouseDown event just before, as in gb.gtk.

[GB.GTK]
* NEW: Application.DblClickTime is a new property that returns the double-click time interval.

[GB.GTK3]
* NEW: Application.DblClickTime is a new property that returns the double-click time interval.
2017-08-26 17:45:04 +02:00
Laurent Carlier
faa630b567 [GB.QT5.EXT]
* NEW: Add the LCDNumber class from gb.qt4.ext

also remove the Qt3 transitional header/code
2017-08-15 15:39:49 +02:00
Laurent Carlier
8dc6679530 Remove 'missing' file ,generated by autotools, from the repository 2017-08-13 16:13:06 +02:00
Benoît Minisini
af4773ca8b [DEVELOPMENT ENVIRONMENT]
* BUG: Allow to enter void arguments in project arguments list.

[GB.FORM]
* BUG: TabPanel: Tab buttons now eat the wheel events, so that they do not propagate.

[GB.JIT]
* NEW: Search llvm libraries with 'llvm-config' only.

[GB.QT4]
* BUG: Don't compile the QT5 menu fix.

[GB.WEB.FORM]
* NEW: Add '/~logout' URL to clear the session.


git-svn-id: svn://localhost/gambas/trunk@8151 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-07-14 14:39:25 +00:00
Benoît Minisini
0dce432dfe [WIKI]
* NEW: The [...](...) syntax can be used for images links to display a thumbnail images opening a link in a new page (usually the image in full size).

[GB.GTK]
* NEW: Disabled controls do not raise mouse events anymore, unless in design mode.

[GB.GTK3]
* NEW: Disabled controls do not raise mouse events anymore, unless in design mode.

[GB.FORM]
* BUG: DateChooser: Use light colors when disabled.

[GB.QT4]
* NEW: Disabled controls do not raise mouse events anymore, unless in design mode.

[GB.QT5]
* NEW: Disabled controls do not raise mouse events anymore, unless in design mode.


git-svn-id: svn://localhost/gambas/trunk@8132 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-05-03 23:24:30 +00:00
Benoît Minisini
82eddfd5c9 [CONFIGURATION]
* NEW: Remove all 'depcomp' files. Apparently they are not used anymore by autoconf.

[INTERPRETER]
* BUG: Fix some gcc 6 warnings.

[GB.DEBUG]
* BUG: Fix some gcc 6 warnings.

[GB.GTK]
* BUG: Fix some gcc 6 warnings.
* BUG: Fix a ';' mistake in a focus management test.

[GB.GTK3]
* BUG: Fix some gcc 6 warnings.
* BUG: Fix a ';' mistake in a focus management test.

[GB.IMAGE]
* BUG: Fix some gcc 6 warnings.


git-svn-id: svn://localhost/gambas/trunk@8101 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-02-18 17:24:01 +00:00
Benoît Minisini
7132d88001 [GB.QT5]
* BUG: SpinBox: MouseWheel events are correctly stopped now.


git-svn-id: svn://localhost/gambas/trunk@8097 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-02-18 12:29:04 +00:00
Benoît Minisini
5e49bfbd90 [GB.DB.SQLITE2]
* BUG: Make component compile with gcc 6.

[INTERPRETER]
* BUG: Include <cmath> instead of <math.h> for components written in C++, so that they compile with gcc 6.

[GB.GTK]
* BUG: Make component compile with gcc 6.

[GB.GTK3]
* BUG: Make component compile with gcc 6.

[GB.QT4]
* BUG: Make component compile with gcc 6.

[GB.QT5]
* BUG: Make component compile with gcc 6.


git-svn-id: svn://localhost/gambas/trunk@8088 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-02-07 00:08:22 +00:00
Benoît Minisini
b225eba20f [CONFIGURATION]
* NEW: Update copyright year in all source files.


git-svn-id: svn://localhost/gambas/trunk@8056 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-13 03:29:42 +00:00
Benoît Minisini
d0240599c8 [GB.QT5]
* BUG: The component now should compile correctly with C++11.


git-svn-id: svn://localhost/gambas/trunk@8049 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-09 14:46:59 +00:00
Benoît Minisini
aab46220f6 [GB.GTK]
* BUG: Window.Show() works again on hidden windows.

[GB.GTK3]
* BUG: Window.Show() works again on hidden windows.

[GB.QT4]
* BUG: Window.Show() works again on hidden windows.

[GB.QT5]
* BUG: Window.Show() works again on hidden windows.


git-svn-id: svn://localhost/gambas/trunk@8044 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-07 10:57:16 +00:00
Benoît Minisini
558f5f2271 [GB.GTK]
* BUG: Calling ShowModal() or ShowPopup() on an already opened window now raises an error.

[GB.GTK3]
* BUG: Calling ShowModal() or ShowPopup() on an already opened window now raises an error.

[GB.QT4]
* BUG: Calling ShowModal() or ShowPopup() on an already opened window now raises an error.

[GB.QT5]
* BUG: Calling ShowModal() or ShowPopup() on an already opened window now raises an error.


git-svn-id: svn://localhost/gambas/trunk@8034 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-12-31 18:59:14 +00:00
Benoît Minisini
7e058b45d8 [GB.GTK]
* BUG: Search for popup menu defined by the PopupMenu property recursively.

[GB.GTK3]
* BUG: Search for popup menu defined by the PopupMenu property recursively.

[GB.QT4]
* BUG: Search for popup menu defined by the PopupMenu property recursively.

[GB.QT5]
* BUG: Search for popup menu defined by the PopupMenu property recursively.


git-svn-id: svn://localhost/gambas/trunk@8026 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-12-29 22:59:41 +00:00
Benoît Minisini
03fb86d7c3 [GB.QT4]
* BUG: Workaround to prevent system tooltip colors to be unreadable.

[GB.QT5]
* BUG: Workaround to prevent system tooltip colors to be unreadable.

[GB.GTK]
* BUG: Workaround to prevent system tooltip colors to be unreadable.

[GB.GTK3]
* BUG: Workaround to prevent system tooltip colors to be unreadable.


git-svn-id: svn://localhost/gambas/trunk@8004 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-11-28 06:18:10 +00:00
Benoît Minisini
59cd9c2d4a [GB.DESKTOP]
* BUG: Fix detection of KDE4 and KDE5 desktops.

[GB.QT4]
* BUG: Fix detection of KDE4 and KDE5 desktops in Desktop.Type.

[GB.QT5]
* BUG: Fix detection of KDE4 and KDE5 desktops in Desktop.Type.

[GB.GTK]
* BUG: Fix detection of KDE4 and KDE5 desktops in Desktop.Type.

[GB.GTK3]
* BUG: Fix detection of KDE4 and KDE5 desktops in Desktop.Type.


git-svn-id: svn://localhost/gambas/trunk@7849 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-08-19 14:37:19 +00:00
Benoît Minisini
33b6b23b6a [DEVELOPMENT ENVIRONMENT]
* NEW: The editor pop-up menu is now accessible from the top menu-bar through an "Edit" menu.

[GB.QT4]
* NEW: Menu.Proxy is a new property that allows a menu to popup the children of another menu.

[GB.QT5]
* NEW: Menu.Proxy is a new property that allows a menu to popup the children of another menu.

[GB.GTK]
* NEW: Menu.Proxy is a new property that allows a menu to popup the children of another menu. Beware, the property is not yet implemented and has no effect at the moment!

[GB.GTK3]
* NEW: Menu.Proxy is a new property that allows a menu to popup the children of another menu. Beware, the property is not yet implemented and has no effect at the moment!


git-svn-id: svn://localhost/gambas/trunk@7839 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-08-14 14:50:03 +00:00
Benoît Minisini
656bb0f30d [GB.QT4]
* BUG: Fix a crash when checking the current hovered widget.

[GB.QT5]
* BUG: Fix a crash when checking the current hovered widget.


git-svn-id: svn://localhost/gambas/trunk@7834 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-08-12 21:32:33 +00:00
Benoît Minisini
2a3ecf982d [DEVELOPMENT ENVIRONMENT]
* NEW: Project property dialog: New project arguments interface.
* NEW: Debugger: The project arguments is now selectable with a popup menu.
* BUG: Fix position history behaviour.

[INTERPRETER]
* NEW: Object.Type(), Object.Class() and Object.Is() now work with invalid objects.

[GB.FORM]
* NEW: Completion: Support for TextArea editor.
* NEW: Completion: Editor property is now writable.
* NEW: TableView: Raise a new Hide event when the editor is hidden.

[GB.FORM.EDITOR]
* NEW: TextEditor: CursorAt() is a new method that returns the cursor screen position from a line and a column.

[GB.GTK]
* NEW: TextBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: ComboBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: TextArea: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.

[GB.GTK3]
* NEW: TextBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: ComboBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: TextArea: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.

[GB.GUI.BASE]
* BUG: GridView: Newlines in cells with WordWrap property set are now taken into account correctly.

[GB.QT4]
* NEW: TextBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: ComboBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: TextArea: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.

[GB.QT5]
* NEW: TextBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: ComboBox: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.
* NEW: TextArea: CursorAt() is a new method that returns the cursor screen position from a text position. The CursorPos property has been removed.


git-svn-id: svn://localhost/gambas/trunk@7825 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-07-18 03:01:59 +00:00
Benoît Minisini
40bc4ec9ec [GB.QT4]
* NEW: TextBox, ComboBox and TextArea have a new CursorPos property that returns the screen position of the cursor relative to the control frame.

[GB.QT5]
* NEW: TextBox, ComboBox and TextArea have a new CursorPos property that returns the screen position of the cursor relative to the control frame.

[GB.GTK]
* NEW: TextBox, ComboBox and TextArea have a new CursorPos property that returns the screen position of the cursor relative to the control frame.

[GB.GTK3]
* NEW: TextBox, ComboBox and TextArea have a new CursorPos property that returns the screen position of the cursor relative to the control frame.


git-svn-id: svn://localhost/gambas/trunk@7824 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-07-17 16:15:07 +00:00
Benoît Minisini
b4910c912f [GB.QT4]
* BUG: Fix Style.FrameWidth and Style.BoxFrameWidth for Breeze style.
* BUG: Fix Window Close event signature.

[GB.QT5]
* BUG: Fix Style.FrameWidth and Style.BoxFrameWidth for Breeze style.
* BUG: Fix Window Close event signature.

[GB.GTK]
* BUG: Fix Window Close event signature.

[GB.GTK3]
* BUG: Fix Window Close event signature.


git-svn-id: svn://localhost/gambas/trunk@7815 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-07-11 16:12:40 +00:00