Commit Graph

495 Commits

Author SHA1 Message Date
Chris Michael 10acf59475 Fix potential memleaks reported by klockwork.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-20 10:31:01 +01:00
Chris Michael 2babd46029 printf--
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-19 12:48:54 +01:00
Chris Michael dc3c16c4a5 Fix randr dialog to display monitors that are disabled.
Add function to get a monitor's preferred mode size.
Add function to find any clones of a monitor.
Add function to find a valid crtc for an output

NB: Raster, this should fix your reported problem ;)

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-19 12:44:26 +01:00
Chris Michael 37498d7062 Add function to find a valid crtc for this monitor if none is set.
If a monitor gets re-enabled and no current mode is set (which is
typically the case), then find a mode based on size.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-19 12:44:26 +01:00
Chris Michael 31d34db673 Initialize 'orients' variable to rotation 0.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-19 12:44:26 +01:00
Chris Michael 1197cc43a9 Minor formatting fix.
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-18 16:35:16 +01:00
Igor Murzov b48114152a Better gettext usage for conf2 module 2013-05-11 12:15:01 +04:00
Chris Michael 723825e49e If a crtc has no outputs, then skip it.
This fixes an issue where "monitors" would be created with only a stand.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-03-20 13:41:48 +00:00
Christopher Michael eca3475b79 Fix incorrect monitor position text on some startup cases.
When we call "grid_set" (as a result of the grid object moving or
resizing), we should update the monitor position text.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-27 12:01:25 +00:00
Christopher Michael dce3e8f74f Skip refresh rate checks during resize.
Some people have reported that resizing is difficult, or that they
could not get to the max resolution of their monitor(s). Skipping the
refresh rate check during resolution finding fixes that ... With a big
fat Gotcha !!! because now after changing resolutions, the refresh
rate May not match what was previously selected....

So, as a word of CAUTION: After you set a resolution you should now
Verify your Refresh Rate before Applying, else you may be getting an
undesirable rate :/

Signed-off-by: Christopher Michael <cp.michael@samsung.com>
2013-02-26 11:09:45 +00:00
Christopher Michael 8a3cf51692 Re-enable Restore button for RandR dialog.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84256
2013-02-20 07:45:19 +00:00
Christopher Michael ce6ed08611 Hook into monitor_resized callback and update adjacent monitor positions.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84234
2013-02-19 11:01:31 +00:00
Christopher Michael c3736db94f Add a monitor_resized callback so positions of other monitors can be
updated.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84233
2013-02-19 11:01:29 +00:00
Christopher Michael 2ce1533131 Disable Restore on Startup for now until larger randr event issues are
worked out.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84232
2013-02-19 11:01:26 +00:00
Christopher Michael 1860beba5a Add monitor_moved callback and update position (if needed).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84230
2013-02-19 11:01:21 +00:00
Christopher Michael 16abe425c0 Add missing function prototypes.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84229
2013-02-19 11:01:18 +00:00
Christopher Michael 8109e62825 When we do a current_geometry set, repack the monitor to the updated
geometry.
Add a geometry_get function for monitor.
Fix up cloning code to work properly with different size
parents/children.
Add a monitor_clone_parent_get function.
When applying changes, also use crtc_clone_set function.
Add smart callback for monitor_moved to tell randr widget it may need
to shuffle things around.
Use output mouse position, not canvas position.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84228
2013-02-19 11:01:14 +00:00
Christopher Michael 8f728d158d Add restore checkbox to dialog.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84222
2013-02-19 11:00:56 +00:00
Christopher Michael 686ff23a54 Add some comments.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84219
2013-02-19 11:00:09 +00:00
Christopher Michael f52d507845 Add missing function prototypes.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84218
2013-02-19 11:00:00 +00:00
Christopher Michael 0ac5ed720a Handle apply of monitor changes to X.
Reduce position text set calls and just do it on smart_move.
Add a changes_apply function.
Add code to record changes to a monitor.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84217
2013-02-19 10:59:58 +00:00
Christopher Michael 1f51f97259 Add randr_changed function.
Add function to apply changes.
Add callback hook for monitor(s) changed.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84216
2013-02-19 10:59:55 +00:00
Christopher Michael c889d84b87 Add hook for randr widget changed.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84215
2013-02-19 10:59:52 +00:00
Christopher Michael b0dff98153 Simplify changed enum.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84214
2013-02-19 10:59:49 +00:00
Christopher Michael 86b27baec7 Start on monitor Changes.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84213
2013-02-19 10:59:47 +00:00
Christopher Michael 994586d509 Add code to handle when cloning monitors so that the size, mode and
orient of each will match (NB: This is required by XRandR in order for
cloning to be successful).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84212
2013-02-19 10:59:44 +00:00
Christopher Michael eec7305dfc Update some comments.
Add code to create any clones on initial startup.
Add function to find a monitor object based on crtc.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84211
2013-02-19 10:59:41 +00:00
Christopher Michael 6739bcfe66 Add the clone object as a smart member for monitor.
Add some comments.
Update position and resolution text when we unclone.
Repack the monitor into the grid when we unclone.
Set virtual thumb size correctly.
Emit disabled signal (if needed) when we unclone.
Also record x/y coordinates when doing move/resize/rotate.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84210
2013-02-19 10:59:38 +00:00
Christopher Michael 54f611f3c5 Add function prototype for monitor clone set.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84208
2013-02-19 10:59:33 +00:00
Christopher Michael fee5a89bfa Add cloning support for monitor.
Tie in code for indicator toggle (enable/disable).
Add function to return a monitor's crtc id (used in randr widget).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84207
2013-02-19 10:59:30 +00:00
Christopher Michael 5f68828189 Simplify the monitor rotation code and make sure new positions are
within grid virtual space.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84203
2013-02-19 10:59:20 +00:00
Christopher Michael 132719c2b6 Correctly calculate disabled monitor position(s).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84202
2013-02-19 10:59:17 +00:00
Christopher Michael 7df8dddb23 Remove useless mod_dir variable (and associated code).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84201
2013-02-19 10:59:15 +00:00
Christopher Michael 3f283a62a2 Remove useless defines and variables.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84200
2013-02-19 10:59:11 +00:00
Christopher Michael a9cd2aaa02 Remove unused variable and some dead printfs.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84199
2013-02-19 10:59:08 +00:00
Christopher Michael a9f1783e5f When calculating virtual size, also account for 'possible' outputs.
When we are creating the monitors, account for 'possible' outputs also.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84198
2013-02-19 10:59:06 +00:00
Christopher Michael 1d10a382b6 Actually, allow move/resize/rotate for disabled monitors so things can
be adjusted (NB: Will not actually mattery on Apply anyway).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84197
2013-02-19 10:59:03 +00:00
Christopher Michael c5254ce545 Set current size and position text when we set current values.
Add function for setting current geometry.
If a monitor is disabled, do not allow rotate, resize, move events.
Fix resize start/stop functions to use current geometry.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84196
2013-02-19 10:59:00 +00:00
Christopher Michael c0d5cbad61 Add function prototype for setting current geometry.
Rename function prototype for grid virtual size set.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84195
2013-02-19 10:58:57 +00:00
Christopher Michael f48772482c Fix move_stop to use current geometry.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84194
2013-02-19 10:58:54 +00:00
Christopher Michael 2819733656 Handle setting monitor to enabled/disabled based on crtc mode.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84193
2013-02-19 10:58:51 +00:00
Christopher Michael 87ef25f21b When calculating virtual size, we only need to fetch
"screen_current_size_get" if both vw & vh are 0.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84192
2013-02-19 10:58:48 +00:00
Christopher Michael 2acdd3f3e2 Add 'current' field values so we can use these durring apply for
comparison to old values.
Fix move, resize, rotate code to use "current" values.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84191
2013-02-19 10:58:45 +00:00
Christopher Michael aee6393591 Add code to handle manual monitor movement.
Fix up coordinate functions to not need doubles.
Update monitor position text when moving.
Fix up rotation code to allow rotating when mouse is outside the frame
(thank you Daniel) ;)

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84190
2013-02-19 10:58:42 +00:00
Christopher Michael b33401f645 Add in refresh_rate code for filling refresh rate list and listening
for changes.
Break map_apply function into frame_map_apply and thumb_map_apply for
rotating just the wallpaper.
Fix resize code to work with a rotated monitor.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84188
2013-02-19 10:58:36 +00:00
Christopher Michael 39bc25be03 Use ecore_x_randr_crtc_info_free function to free returned crtc_info.
When comparing refresh rates for mode searches, cast to int.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84187
2013-02-19 10:58:33 +00:00
Christopher Michael 2e0f4e7a27 Reduce variable usage
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84186
2013-02-19 10:58:31 +00:00
Christopher Michael e02c9fc7aa Fix comment.
Remove orientation comparison.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84185
2013-02-19 10:58:28 +00:00
Christopher Michael af59660d3f Add ROTATE_FUZZ amount.
Add inline function to get orientation based on rotation amount.
Add function to apply an evas_map for rotation.
If we are rotating, we don't need to set livethumb size.
When we start rotating, set initial rotation amount to 0.
When rotation stops, update the map and monitor position where needed.
Apply map during rotation.

NB: This commit also adds a debugging red rectangle behind the
monitor. This will be removed when debugging is complete

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84184
2013-02-19 10:58:25 +00:00
Christopher Michael c2b2be5be7 Add current rotation to smart_data structure.
Fill in current rotation on crtc set.
Update current rotation when we get a rotation event.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84183
2013-02-19 10:58:22 +00:00
Christopher Michael 35855135a1 Add inline function to return the degree of rotation based on
orientation.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84182
2013-02-19 10:58:19 +00:00
Christopher Michael 87daec404d Remove Big Fat Fixme warning as it's fixed now :)
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84181
2013-02-19 10:58:16 +00:00
Christopher Michael ed84b96078 Add code to check EFL version.
If we are using a newer version, then we can use the new
ecore_x_randr_crtc_info_get() function which will save us a lot of X
round-trips.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84180
2013-02-19 10:58:13 +00:00
Christopher Michael 93ad1faf50 Add current mode and refresh rate to crtc field.
Add function prototype for getting a mode refresh rate.
Add Big Fat FIXME for crtc_set function.
Get the crtc current mode & refresh rate when crtc is set.
Simplify monitor_mode_find function.
Add function for getting a mode refresh rate.
Start on rotation event code.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84179
2013-02-19 10:58:10 +00:00
Christopher Michael 1ec01f9d65 Add function to get the amount of rotation from a mouse event.
Simplify mouse movement check in resize_event and add some better
comments.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84178
2013-02-19 10:58:06 +00:00
Christopher Michael 3526741c82 Turn 'crtc' field into a structure (mainly for making code easier to
read/maintain).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84177
2013-02-19 10:58:04 +00:00
Christopher Michael 5b47415f14 Add code to check if rotations for a given crtc are possible, and
disable the rotation in edje if not.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84176
2013-02-19 10:58:01 +00:00
Christopher Michael 9edea3c781 Only get edid (an expensive process) if getting the output name
previously has failed.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84175
2013-02-19 10:57:57 +00:00
Christopher Michael 7abc8a7aca Add flag for rotating to structure.
Add & delete callbacks for rotation start & stop.
Add functions for rotate start & stop.
Add start of rotate event code.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84174
2013-02-19 10:57:55 +00:00
Christopher Michael 2edc7cfeaf Add some comments.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84173
2013-02-19 10:57:52 +00:00
Christopher Michael 480170d4ce Remove all code which tried to maintain aspect ratio of the frame
(resize snapping to mode dimensions will handle this anyway).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84172
2013-02-19 10:57:50 +00:00
Christopher Michael 1f63b0f062 Remove dead comments about layout object.
Add grid object to structure.
Add callbacks to handle when grid gets moved or resized so we can
update the monitor's copy of the grid geometry.
Update calls to monitor_grid_set to pass in geometry now.
Add monitor_virtual_size_set call.
Add code to deal with grid getting moved & resized.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84171
2013-02-19 10:57:47 +00:00
Christopher Michael bda3e4bcdc Change structure to store grid geometry.
Change grid_set function to accept grid geometry.
Add monitor_virtual_size_set function.
Only update livethumb preview size if we are not manually resizing.
Don't need to set the resolution text during smart_resize.
Add functions to convert coordinates to/from virtual to canvas.
Add function to find the closest randr mode to a given size.
Add function to handle user manual resizing.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84170
2013-02-19 10:57:44 +00:00
Christopher Michael 903787a594 Change monitor_grid_set function to also accept the grid geometry
(used for virtual-->canvas coordinate functions).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84169
2013-02-19 10:57:41 +00:00
Christopher Michael fd0889b31a Add missing LOGFN's where needed.
Add mouse_move callback on frame.
Delete mouse_move callback when we delete the frame.
Add code in frame moouse_move function to call appropriate event based
on current action.
Start of actual resize event code.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84168
2013-02-19 10:57:38 +00:00
Christopher Michael f4ae6fac22 Add flag to structure for resizing.
Add start of resize coordinates to structure.
If we are manually resizing the object, update the text.
When resize starts, record the current mouse position and size.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84167
2013-02-19 10:57:35 +00:00
Christopher Michael fd11b69ad5 Add edje callbacks to frame for resize_start & resize_stop.
Add code to delete edje callbacks from frame when object is deleted.
Add start of code for resize_start & resize_stop frame events.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84166
2013-02-19 10:57:32 +00:00
Christopher Michael 22f25b4c1d Fix variable type of "name" to be char (not const char).
Add code to set mouse pointer on frame events (resize, rotate, etc).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84165
2013-02-19 10:57:29 +00:00
Christopher Michael 825ccb9256 Cleanup some memory returned from ecore_x_randr when we are done with
it.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84164
2013-02-19 10:57:26 +00:00
Christopher Michael b5f6ae6d0d Fix comment.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84163
2013-02-19 10:57:24 +00:00
Christopher Michael f5fc65f945 Add function to push & pop e_pointers.
Add code to set pointer indication when mouse moves inside the
thumbnail.
Add code to set pointer indication when mouse is down on the thumbnail.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84162
2013-02-19 10:57:21 +00:00
Christopher Michael 9354ef67ae Set aspect width & height on the same line
(pedantic commit just to remove 2 extra lines).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84161
2013-02-19 10:57:18 +00:00
Christopher Michael 353df08f07 Also pass in crtc geometry to the monitor when we set crtc (because we
have previously fetched this geometry anyway).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84160
2013-02-19 10:57:14 +00:00
Christopher Michael 457c302e92 Modifiy crtc_set function to also take the current crtc coordinates
(this saves us a round-trip function call to ecore_x_randr as we
already have the coordinates from the randr widget).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84159
2013-02-19 10:57:12 +00:00
Christopher Michael 54a0fa16ae When we set the crtc of the monitor, we can update position and
resolution text.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84158
2013-02-19 10:57:09 +00:00
Christopher Michael 58b68ab98b Add private functions for setting monitor position and resolution text.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84157
2013-02-19 10:57:06 +00:00
Christopher Michael 597d95bdb6 Add code to set the monitor name.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84156
2013-02-19 10:57:04 +00:00
Christopher Michael ad6d6914bc Pack the monitor into the grid first, then do setup.
Add function call to setup initial background preview.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84155
2013-02-19 10:57:01 +00:00
Christopher Michael 8d47671e6e Add code to handle setting of background preview on initial show.
Add code to handle setting of background preview when user changes the
bg.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84153
2013-02-19 10:56:54 +00:00
Christopher Michael 6ca0528ef0 Remove function call to monitor_virtual_size_set.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84152
2013-02-19 10:56:51 +00:00
Christopher Michael 055ccc581e Remove virtual_size_set code (turns out, it's not needed).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84151
2013-02-19 10:56:48 +00:00
Christopher Michael 70380b6125 Add base & grid object to randr widget.
Use ecore_x_randr functions to get crtcs & outputs (Fixes problem of
running Screen Setup dialog in Xephyr)
Add code for min_size_get function.
Remove code which used e_layout widget.
Add code to create new randr widget based on evas_object_grid.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84150
2013-02-19 10:56:45 +00:00
Christopher Michael efbdf8c9d0 Add function prototype for min_size_get.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84149
2013-02-19 10:56:43 +00:00
Christopher Michael c476e30c5e Add function prototypes.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84148
2013-02-19 10:56:40 +00:00
Christopher Michael 85ff779ed4 Add min & max mode sizes to monitor structure.
Add Frame & Stand to monitor structure.
Add code to create/show/move/resize/hide the frame & stand.
Change the code to use ecore_x_randr functions so that when running in
Xephyr we get monitors that make sense.
Change output_set and crtc_set functions to take the Ecore_X_Randr
types.
Set an aspect ratio on the frame (so it maintains during resize)
Add function for telling monitor what the virtual size is.
Add function for telling monitor what grid object it belongs to.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84147
2013-02-19 10:56:38 +00:00
Christopher Michael d994ca499d Fix _basic_create prototype & function to use the dialog now.
Call function of randr widget to get the min required size, and set
the list widget to that size.
Tell the dialog to show centered on the screen.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84146
2013-02-19 10:56:35 +00:00
Christopher Michael a2ce1d77b9 Cfdata is unused in the apply function.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84143
2013-02-19 10:56:27 +00:00
Christopher Michael c508e28128 Add LOGFN to functions.
Append newly created monitor(s) to our list.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84142
2013-02-19 10:56:24 +00:00
Christopher Michael 9f6b69c053 Add test rectangle to monitor
Add LOGFN to functions.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84141
2013-02-19 10:56:20 +00:00
Christopher Michael 927cf450d4 Add LOGFN macro to header.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84140
2013-02-19 10:56:17 +00:00
Christopher Michael db406167dc Add prototype and code for virtual_size_calc function.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84139
2013-02-19 10:56:14 +00:00
Christopher Michael 28a1a7690f Tell randr widget to calculate virtual size.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84138
2013-02-19 10:56:11 +00:00
Christopher Michael 8fecfa5054 Use proper width/height variables from crtc_config.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84136
2013-02-19 10:56:05 +00:00
Christopher Michael 87a3d1da9b Move and resize the monitor after packing to it's proper position.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84135
2013-02-19 10:56:02 +00:00
Christopher Michael 6747badc99 Pack the created monitor into the layout widget.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84134
2013-02-19 10:55:59 +00:00
Christopher Michael 31b98fecbf Add a list of modes to smart_data structure.
When we set the output, fill in the modes list
Add code to sort modes list.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84133
2013-02-19 10:55:56 +00:00
Christopher Michael 148cdc90d8 Add geometry to smart_data struct.
Check geometry changes in smart_move and smart_resize.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84132
2013-02-19 10:55:54 +00:00
Christopher Michael 69b12661d5 Start code for monitors create
- Create monitor smart object
 - Set crtc and output config for monitor.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84131
2013-02-19 10:55:50 +00:00
Christopher Michael 7246631647 Add crtc and output configs to smart_data structure.
Add functions to set crtc and output configs.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84130
2013-02-19 10:55:45 +00:00
Christopher Michael 82a080813c Add function prototypes for setting monitor crtc and output config.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84129
2013-02-19 10:55:42 +00:00
Christopher Michael 6b1168b933 Add list of monitors to smart_data structure.
Add code to delete the monitors when randr gets deleted.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84128
2013-02-19 10:55:39 +00:00
Christopher Michael 468998fca6 Add initial start of code to create monitors.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84127
2013-02-19 10:55:36 +00:00
Christopher Michael 6cf9624275 Add header function for monitors_create.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84126
2013-02-19 10:55:33 +00:00
Christopher Michael 5216fb097a Add initial monitor code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84125
2013-02-19 10:55:30 +00:00
Christopher Michael 8a53055d3a Tell randr widget to create monitors.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84124
2013-02-19 10:55:28 +00:00
Christopher Michael 6521caab40 Add header function for creating new monitors.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84123
2013-02-19 10:55:25 +00:00
Christopher Michael 3fd758facc Cleanup compile warnings and include randr object header.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84121
2013-02-19 10:55:20 +00:00
Christopher Michael 6b96e9c961 Add code to handle the layout object.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84119
2013-02-19 10:55:14 +00:00
Christopher Michael daa2b49ab9 Create the randr widget in _basic_create.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84118
2013-02-19 10:55:09 +00:00
Christopher Michael 4dfda15a8d Initial rewrite of the monitor object.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84117
2013-02-19 10:55:07 +00:00
Christopher Michael fbb5baea84 Initial rewrite of randr widget.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84116
2013-02-19 10:55:04 +00:00
Christopher Michael d874b1ed9c Remove old randr code from dialog creation.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84115
2013-02-19 10:55:01 +00:00
Christopher Michael 0410b43549 Remove old randr widget code.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84113
2013-02-19 10:54:55 +00:00
Christopher Michael f117b3de1d Add function for setting monitor position text.
Fix some comments.
When the monitor object gets moved, update the position text.

NB: Hopefully this helps a little for people having monitor "black
out" issues after moving things around. At least now you can See what
the position will be.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82887
2013-01-16 13:33:27 +00:00
Christopher Michael 37908f9b73 When searching for the next resolution to snap to, do Not skip
refresh_rate checks (allows resize events which keep the current rate).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82884
2013-01-16 11:56:44 +00:00
Christopher Michael 01eb2c4cc0 Various fixes for some resizing issues as reported by Thanatermesis.
- Don't bother trapping mouse movements outside of the monitor.
 - Simplier test for resizing above/below max/min resolution.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82883
2013-01-16 11:56:36 +00:00
Christopher Michael 39e9f03048 No need to convert frame geometry to virtual...we can just compare
actual canvas geometry when doing collision detection.

Port the previous "JackDanielz" fix (using frame geometry vs using
object geometry) to the actual move function also.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82868
2013-01-16 09:01:30 +00:00
Christopher Michael 4a49bf8b05 When moving monitors around, use the geometry of the monitor frame to
determine collision/intersection for cloning reasons (needed due to
monitor object itself having some padding around the frame which was
causing erroneous intersection calculations).

NB: Calling this one the JackDanielZ fix ;)

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82867
2013-01-16 08:41:48 +00:00
Christopher Michael 44b62de0b6 Add monitor function to return geometry of the actual frame object.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82866
2013-01-16 08:41:34 +00:00
Christopher Michael f518182cf8 Use output name first instead of monitor name. Fall back to monitor
name if output has no name.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82863
2013-01-16 08:07:00 +00:00
Christopher Michael 272907949e Pass the new orientation to map remove so we can resize the frame
properly.
When we start a rotate event, record the starting rotation.
When we stop rotating, mung in the starting rotation value.
Just fetch geometry once when we stop rotating.
Update the current orientation After we are done removing the map (on
rotate stop).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82862
2013-01-16 08:06:57 +00:00
Christopher Michael 1cca680d13 When getting the amount of rotation, use the frame geometry (as that
is where the rotation event actually happens), instead of the geometry
of the whole monitor object.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82861
2013-01-16 08:06:54 +00:00
Christopher Michael 2c034a27b9 Add function to remove an applied map (for making bg and text look
proper after rotation).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82860
2013-01-16 08:06:40 +00:00
Mike Blumenkrantz 839a2f3f15 move all conf2 options for opening config dialogs into the owner module
SVN revision: 82727
2013-01-13 13:28:56 +00:00
Christopher Michael 11ab438c80 When we create monitors and are checking for clones, just use x/y
position, not size for comparison.

When we create monitors, assign the proper crtc to the monitor.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82330
2013-01-07 07:39:57 +00:00
Christopher Michael 721d4385a9 Some fixes for Intel cards:
Do not set enabled until after a current mode is set.
Update original size after we set current mode.
Add an original cloned value we can track.
Add code to apply just cloning changes.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82329
2013-01-07 07:39:54 +00:00
Christopher Michael 4c76f30a57 Fix compile: Use the proper smart data variable.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82328
2013-01-07 07:39:52 +00:00
Christopher Michael 4f572243c1 When we clone/un-clone, also set a Changed on the position so that
Apply will handle new geometry for the monitor.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82327
2013-01-07 07:39:49 +00:00
Christopher Michael 4fadc7bf7f When we initially create the monitors, also set the original cloned
value.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82326
2013-01-07 07:39:47 +00:00
Christopher Michael 12a420c9ab Add support for marking dialog changes if the user unclones a monitor
and does nothing else.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82325
2013-01-07 07:39:45 +00:00
Christopher Michael 98b9bdaf79 Add prototype for cloned_set function.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82324
2013-01-07 07:39:42 +00:00
Christopher Michael 3bbf2da0b8 Add a Changed_Clone to enum.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 82323
2013-01-07 07:39:39 +00:00
Mike Blumenkrantz 580b884d41 fix uninitialized var in randr config dialog which potentially broke initial monitor layout
SVN revision: 81593
2012-12-21 21:35:17 +00:00
Maxime Villard 4a52c46268 From: Maxime Villard <rustyBSD@gmx.fr>
Subject: [E-devel] [e][PATCH] Optimizations v2
Date: Fri, 21 Dec 2012 22:17:32 +0100

Hi,
same patch as before: removed useless nullchecks and
switched some free()'s to E_FREE().



SVN revision: 81592
2012-12-21 21:31:13 +00:00
Mike Blumenkrantz 27896bfae3 stringshare leak--
SVN revision: 81531
2012-12-21 10:15:41 +00:00
Christopher Michael 69cb1822e1 Fix monitor apply settings.
NB: According to a conversation with T_UNIX, we actually do use the
ecore_x randr functions to apply the config.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81377
2012-12-19 15:39:51 +00:00
Christopher Michael 829558db50 Fix randr widget applying settings as per discussion with T_UNIX.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81376
2012-12-19 15:39:47 +00:00
Christopher Michael be20b9d15d Add some debugging for disabled monitors.
If we are trying to add a disabled monitor, check for possible outputs.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81368
2012-12-19 14:21:50 +00:00
Christopher Michael 75981aa321 Set struct field for Enabled/Disabled Before we try to find possible
crtc.
If the monitor's crtc does not have a current_mode (because it was
previously disabled), then grab the last available mode (typically the
largest) and set the crtc current_mode to that.
Add some debugging for Enable/Disable.
Remove code which was trying to use ecore_x calls to re-enable a
monitor.
Use the randr function for trying to enable an output (if previously
disabled).

NB: Enable/Disable Does work, HOWEVER in my testing I have found that
when you re-enable a monitor, you will need to completely back out of
X and restart it in order for the Monitor to show output again. Unsure
if this is an X bug or something in e_randr or someother weirdness....

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81367
2012-12-19 14:21:47 +00:00
Christopher Michael 7829e00b45 Comment out some debugging printfs.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81351
2012-12-19 11:04:35 +00:00
Christopher Michael 1d174b11ba Add header for crtc_set function.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81350
2012-12-19 11:04:32 +00:00
Christopher Michael 80539b0c9a Fix smart monitor object to handle disabled monitors more gracefully.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81349
2012-12-19 11:04:28 +00:00
Stefan Schmidt b2663a26fa e/conf_randr: Move radio creation into the block that needs it.
Discussed with devilhorns.

SVN revision: 81339
2012-12-19 09:47:40 +00:00
Christopher Michael 16c88a39bd Update UNUSED for basic apply function as we do not need the config
dialog here anymore.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81266
2012-12-18 15:27:59 +00:00
Christopher Michael 394885c2e6 And don't pass the root window to the apply function anymore
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81265
2012-12-18 15:21:00 +00:00
Christopher Michael 58ef1a0190 Remove root window as function parameter for apply function (not used
anymore).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81263
2012-12-18 15:16:49 +00:00
Christopher Michael 1d6ea657a9 Remove root window as a function paramater (not used anymore).
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81262
2012-12-18 15:16:44 +00:00
Christopher Michael 6c3a3d14d3 Check if a monitor supports rotation (via different orientations), and
if not then disable the rotate ability on the frame.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81261
2012-12-18 15:16:39 +00:00
Christopher Michael 4709380a02 If we change size on the monitor, be sure to set the current mode.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81256
2012-12-18 14:44:08 +00:00
Christopher Michael 817207bad1 Be more proactive when we create monitors:
If during the process of monitor creation, we reach one that is
  cloned into a parent monitor, but the parent monitor has not been
  created yet, then add it to a deferred list so we can create it (and
  swallow it) into the parent monitor.

Make use of the existing e randr serialization to save/restore settings.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 81255
2012-12-18 14:16:12 +00:00