Do

Merge lp:~psybers/do/nodocky into lp:do

Proposed by Robert Dyer
Status: Merged
Merged at revision: not available
Proposed branch: lp:~psybers/do/nodocky
Merge into: lp:do
Diff against target: 22184 lines (+20/-20747)
176 files modified
Do.Interface.Linux.Docky/AssemblyInfo.cs.in (+0/-60)
Do.Interface.Linux.Docky/Do.Interface.Linux.Docky.mdp (+0/-119)
Do.Interface.Linux.Docky/Makefile.am (+0/-106)
Do.Interface.Linux.Docky/Resources/Do.Interface.Linux.Docky.addin.xml (+0/-33)
Do.Interface.Linux.Docky/Resources/close.svg (+0/-83)
Do.Interface.Linux.Docky/Resources/maximize.svg (+0/-80)
Do.Interface.Linux.Docky/Resources/minimize.svg (+0/-80)
Do.Interface.Linux.Docky/Resources/run.svg (+0/-79)
Do.Interface.Linux.Docky/do.interface.linux.docky.pc.in (+0/-6)
Do.Interface.Linux.Docky/gtk-gui/Docky.Interface.DockyConfigurationWidget.cs (+0/-395)
Do.Interface.Linux.Docky/gtk-gui/generated.cs (+0/-115)
Do.Interface.Linux.Docky/gtk-gui/gui.stetic (+0/-593)
Do.Interface.Linux.Docky/src/Docky.Core/DockServices.cs (+0/-148)
Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/DoInteropService.cs (+0/-56)
Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/DockletService.cs (+0/-158)
Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/DrawingService.cs (+0/-58)
Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/ItemsService.cs (+0/-881)
Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/PainterService.cs (+0/-90)
Do.Interface.Linux.Docky/src/Docky.Core/IDoInteropService.cs (+0/-39)
Do.Interface.Linux.Docky/src/Docky.Core/IDockService.cs (+0/-26)
Do.Interface.Linux.Docky/src/Docky.Core/IDockletService.cs (+0/-37)
Do.Interface.Linux.Docky/src/Docky.Core/IDrawingService.cs (+0/-33)
Do.Interface.Linux.Docky/src/Docky.Core/IItemsService.cs (+0/-84)
Do.Interface.Linux.Docky/src/Docky.Core/IPainterService.cs (+0/-34)
Do.Interface.Linux.Docky/src/Docky.Interface/AutohideTracker.cs (+0/-177)
Do.Interface.Linux.Docky/src/Docky.Interface/ClickAnimationType.cs (+0/-29)
Do.Interface.Linux.Docky/src/Docky.Interface/CursorTracker.cs (+0/-160)
Do.Interface.Linux.Docky/src/Docky.Interface/DnDTracker.cs (+0/-518)
Do.Interface.Linux.Docky/src/Docky.Interface/DoInteropService.cs (+0/-99)
Do.Interface.Linux.Docky/src/Docky.Interface/DockAnimationState.cs (+0/-102)
Do.Interface.Linux.Docky/src/Docky.Interface/DockArea.cs (+0/-836)
Do.Interface.Linux.Docky/src/Docky.Interface/DockArea_Rendering.cs (+0/-904)
Do.Interface.Linux.Docky/src/Docky.Interface/DockState.cs (+0/-338)
Do.Interface.Linux.Docky/src/Docky.Interface/DockWindow.cs (+0/-453)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Items/AbstractDockItem.cs (+0/-569)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Items/AbstractDockletItem.cs (+0/-50)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Items/ActionDockItem.cs (+0/-61)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Items/ApplicationDockItem.cs (+0/-337)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Items/ClockDockItem.cs (+0/-396)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Items/DoDockItem.cs (+0/-108)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Items/HotSeatProxyItem.cs (+0/-132)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Items/ItemDockItem.cs (+0/-242)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Items/SeparatorItem.cs (+0/-129)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Items/TrashDockItem.cs (+0/-180)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Items/WnckDockItem.cs (+0/-256)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Menus/AbstractMenuArgs.cs (+0/-51)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Menus/AbstractMenuButtonArgs.cs (+0/-225)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Menus/DockItemMenu.cs (+0/-78)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Menus/DockPopupMenu.cs (+0/-314)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Menus/LaunchMenuButtonArgs.cs (+0/-60)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Menus/RunnableMenuButtonArgs.cs (+0/-42)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Menus/SeparatorMenuButtonArgs.cs (+0/-57)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Menus/SimpleMenuButtonArgs.cs (+0/-45)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Menus/ToggleDockletMenuButtonArgs.cs (+0/-53)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Menus/WidgetMenuArgs.cs (+0/-51)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Menus/WindowMenuButtonArgs.cs (+0/-53)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Painters/AbstractIntegratedPainter.cs (+0/-203)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Painters/CalendarPainter.cs (+0/-177)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Painters/DockBackgroundRenderer.cs (+0/-99)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Painters/HotSeatPainter.cs (+0/-88)
Do.Interface.Linux.Docky/src/Docky.Interface/Docky.Interface.Painters/SummonModeRenderer.cs (+0/-488)
Do.Interface.Linux.Docky/src/Docky.Interface/DockyConfigurationWidget.cs (+0/-209)
Do.Interface.Linux.Docky/src/Docky.Interface/DragState.cs (+0/-38)
Do.Interface.Linux.Docky/src/Docky.Interface/DrawState.cs (+0/-31)
Do.Interface.Linux.Docky/src/Docky.Interface/DrawingService.cs (+0/-99)
Do.Interface.Linux.Docky/src/Docky.Interface/IDockAppItem.cs (+0/-41)
Do.Interface.Linux.Docky/src/Docky.Interface/IDockPainter.cs (+0/-47)
Do.Interface.Linux.Docky/src/Docky.Interface/IRightClickable.cs (+0/-41)
Do.Interface.Linux.Docky/src/Docky.Interface/ItemPositionProvider.cs (+0/-360)
Do.Interface.Linux.Docky/src/Docky.Interface/LayoutUtils.cs (+0/-182)
Do.Interface.Linux.Docky/src/Docky.Interface/PaintNeededArgs.cs (+0/-48)
Do.Interface.Linux.Docky/src/Docky.Interface/PoofWindow.cs (+0/-110)
Do.Interface.Linux.Docky/src/Docky.Interface/TextRenderContext.cs (+0/-56)
Do.Interface.Linux.Docky/src/Docky.Interface/UpdateRequestArgs.cs (+0/-57)
Do.Interface.Linux.Docky/src/Docky.Interface/Util.cs (+0/-119)
Do.Interface.Linux.Docky/src/Docky.Utilities/AutohideType.cs (+0/-30)
Do.Interface.Linux.Docky/src/Docky.Utilities/DockOrientation.cs (+0/-28)
Do.Interface.Linux.Docky/src/Docky.Utilities/DockPreferences.cs (+0/-360)
Do.Interface.Linux.Docky/src/Docky.Utilities/GtkUtils.cs (+0/-50)
Do.Interface.Wink/Do.Interface.Wink.dll.config (+0/-4)
Do.Interface.Wink/Do.Interface.Wink.mdp (+0/-42)
Do.Interface.Wink/Makefile.am (+0/-35)
Do.Interface.Wink/do.interface.wink.pc.in (+0/-6)
Do.Interface.Wink/src/AssemblyInfo.cs.in (+0/-60)
Do.Interface.Wink/src/Do.Interface.Wink/ClickAction.cs (+0/-31)
Do.Interface.Wink/src/Do.Interface.Wink/Position.cs (+0/-30)
Do.Interface.Wink/src/Do.Interface.Wink/ScreenUtils.cs (+0/-160)
Do.Interface.Wink/src/Do.Interface.Wink/Viewport.cs (+0/-292)
Do.Interface.Wink/src/Do.Interface.Wink/WindowControl.cs (+0/-238)
Do.Interface.Wink/src/Do.Interface.Wink/WindowUtils.cs (+0/-454)
Do.Interface.Wink/src/Do.Interface.Wink/WnckWindow_Extensions.cs (+0/-94)
Do.Interface.Wink/src/Do.Interface.Xlib/X11Atoms.cs (+0/-336)
Do.Interface.Wink/src/Do.Interface.Xlib/Xlib.cs (+0/-126)
Do.mds (+1/-9)
Do/Do.mdp (+0/-1)
Do/Makefile.am (+0/-1)
Do/src/Do.Core/Controller.cs (+17/-0)
Do/src/Do.Core/Do.Core.Addins/DockletAddinClassifier.cs (+0/-49)
Do/src/Do.Core/PluginManager.cs (+0/-1)
Do/src/Do.UI/ManagePluginsPreferencesWidget.cs (+1/-5)
Makefile.am (+0/-2)
configure.ac (+0/-5)
data/Docky.DefaultClockTheme/Makefile.am (+0/-9)
data/Docky.DefaultClockTheme/clock-drop-shadow.svg (+0/-144)
data/Docky.DefaultClockTheme/clock-face-shadow.svg (+0/-138)
data/Docky.DefaultClockTheme/clock-face.svg (+0/-128)
data/Docky.DefaultClockTheme/clock-frame.svg (+0/-221)
data/Docky.DefaultClockTheme/clock-glass.svg (+0/-112)
data/Docky.DefaultClockTheme/clock-marks.svg (+0/-1163)
data/Makefile.am (+1/-1)
po/POTFILES.in (+0/-9)
po/ar.po (+0/-52)
po/ast.po (+0/-52)
po/be.po (+0/-52)
po/bg.po (+0/-52)
po/br.po (+0/-52)
po/bs.po (+0/-52)
po/ca.po (+0/-54)
po/cs.po (+0/-52)
po/da.po (+0/-52)
po/de.po (+0/-52)
po/el.po (+0/-52)
po/en_AU.po (+0/-52)
po/en_CA.po (+0/-52)
po/en_GB.po (+0/-52)
po/es.po (+0/-52)
po/et.po (+0/-52)
po/eu.po (+0/-52)
po/fa.po (+0/-52)
po/fi.po (+0/-52)
po/fr.po (+0/-52)
po/fy.po (+0/-52)
po/ga.po (+0/-52)
po/gl.po (+0/-52)
po/gu.po (+0/-52)
po/he.po (+0/-52)
po/hi.po (+0/-52)
po/hr.po (+0/-52)
po/hu.po (+0/-52)
po/id.po (+0/-52)
po/is.po (+0/-52)
po/it.po (+0/-52)
po/iu.po (+0/-52)
po/ja.po (+0/-52)
po/jv.po (+0/-52)
po/ko.po (+0/-52)
po/lb.po (+0/-52)
po/lt.po (+0/-52)
po/lv.po (+0/-52)
po/mk.po (+0/-52)
po/ml.po (+0/-52)
po/ms.po (+0/-52)
po/mt.po (+0/-52)
po/nb.po (+0/-52)
po/nl.po (+0/-52)
po/nn.po (+0/-52)
po/pl.po (+0/-52)
po/pt.po (+0/-52)
po/pt_BR.po (+0/-52)
po/ro.po (+0/-52)
po/ru.po (+0/-52)
po/sk.po (+0/-52)
po/sl.po (+0/-52)
po/sr.po (+0/-52)
po/sv.po (+0/-52)
po/sw.po (+0/-52)
po/ta.po (+0/-52)
po/te.po (+0/-52)
po/th.po (+0/-52)
po/tr.po (+0/-52)
po/uk.po (+0/-52)
po/ur.po (+0/-52)
po/vi.po (+0/-52)
po/zh_CN.po (+0/-52)
po/zh_HK.po (+0/-52)
po/zh_TW.po (+0/-52)
To merge this branch: bzr merge lp:~psybers/do/nodocky
Reviewer Review Type Date Requested Status
Do Core Team Pending
Review via email: mp+13193@code.launchpad.net

This proposal supersedes a proposal from 2009-10-11.

To post a comment you must log in.
Revision history for this message
Robert Dyer (psybers) wrote : Posted in a previous version of this proposal

This removes Docky from Do.

I also moved the Wink library from Do to the do-plugins/WindowManager, as that was the only thing that needs it.

lp:~psybers/do/nodocky updated
1311. By Robert Dyer

merge trunk

1312. By Robert Dyer

merge trunk

1313. By Robert Dyer

merge trunk

1314. By Robert Dyer

if docky theme is set, notify the user and switch to classic

1315. By Robert Dyer

merge trunk

1316. By Robert Dyer

merge trunk

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed directory 'Do.Interface.Linux.Docky'
2=== removed file 'Do.Interface.Linux.Docky/AssemblyInfo.cs.in'
3--- Do.Interface.Linux.Docky/AssemblyInfo.cs.in 2009-05-15 05:51:40 +0000
4+++ Do.Interface.Linux.Docky/AssemblyInfo.cs.in 1970-01-01 00:00:00 +0000
5@@ -1,60 +0,0 @@
6-// AssemblyInfo.cs
7-//
8-// GNOME Do is the legal property of its developers. Please refer to the
9-// COPYRIGHT file distributed with this source distribution.
10-//
11-// This program is free software: you can redistribute it and/or modify
12-// it under the terms of the GNU General Public License as published by
13-// the Free Software Foundation, either version 3 of the License, or
14-// (at your option) any later version.
15-//
16-// This program is distributed in the hope that it will be useful,
17-// but WITHOUT ANY WARRANTY; without even the implied warranty of
18-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19-// GNU General Public License for more details.
20-//
21-// You should have received a copy of the GNU General Public License
22-// along with this program. If not, see <http://www.gnu.org/licenses/>.
23-//
24-
25-using System.Reflection;
26-using System.Runtime.CompilerServices;
27-
28-// Information about this assembly is defined by the following
29-// attributes.
30-//
31-// change them to the information which is associated with the assembly
32-// you compile.
33-[assembly: AssemblyTitle("Do.Interface.Linux.Docky")]
34-[assembly: AssemblyDescription("Don't just search -- Docky!")]
35-[assembly: AssemblyConfiguration("")]
36-[assembly: AssemblyCompany("")]
37-[assembly: AssemblyProduct("gnome-do")]
38-[assembly: AssemblyCopyright("brought to you by David Siegel et al")]
39-[assembly: AssemblyTrademark("")]
40-[assembly: AssemblyCulture("")]
41-
42-// The assembly version has following format:
43-//
44-// Major.Minor.Build.Revision
45-//
46-// You can specify all values by your own or you can build default build and revision
47-// numbers with the '*' character (the default):
48-[assembly: AssemblyVersion("@ABI_VERSION@.0.0")]
49-
50-// The following attributes specify the key for the sign of your assembly. See the
51-// .NET Framework documentation for more information about signing.
52-// This is not required, if you don't want signing let these attributes like they're.
53-[assembly: AssemblyDelaySign(false)]
54-[assembly: AssemblyKeyFile("")]
55-
56-namespace Do
57-{
58- internal static class AssemblyInfo
59- {
60- public const string DisplayVersion = "@VERSION@";
61- public const string VersionDetails = "@VERSION_INFO@";
62- public const string LocaleDirectory = "@expanded_datadir@/locale";
63- }
64-}
65-
66
67=== removed file 'Do.Interface.Linux.Docky/Do.Interface.Linux.Docky.mdp'
68--- Do.Interface.Linux.Docky/Do.Interface.Linux.Docky.mdp 2009-06-06 05:39:12 +0000
69+++ Do.Interface.Linux.Docky/Do.Interface.Linux.Docky.mdp 1970-01-01 00:00:00 +0000
70@@ -1,119 +0,0 @@
71-<Project name="Do.Interface.Linux.Docky" fileversion="2.0" language="C#" DefaultNamespace="Docky" clr-version="Net_2_0" targetFramework="3.5" ctype="DotNetProject">
72- <Configurations active="Debug">
73- <Configuration name="Debug" ctype="DotNetProjectConfiguration">
74- <Output directory="bin/Debug" assembly="Do.Interface.Linux.Docky" />
75- <Build debugmode="True" target="Library" />
76- <Execution runwithwarnings="True" consolepause="False" runtime="MsNet" clr-version="Net_2_0" />
77- <EnvironmentVariables />
78- <CodeGeneration compiler="Mcs" warninglevel="4" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" generatexmldocumentation="False" ctype="CSharpCompilerParameters" />
79- </Configuration>
80- <Configuration name="Release" ctype="DotNetProjectConfiguration">
81- <Output directory="bin/Release" assembly="Do.Interface.Linux.Docky" />
82- <Build debugmode="False" target="Library" />
83- <Execution runwithwarnings="True" consolepause="False" runtime="MsNet" clr-version="Net_2_0" />
84- <CodeGeneration compiler="Mcs" warninglevel="4" optimize="False" unsafecodeallowed="False" generateoverflowchecks="False" generatexmldocumentation="False" ctype="CSharpCompilerParameters" />
85- </Configuration>
86- </Configurations>
87- <Contents>
88- <File name="AssemblyInfo.cs" subtype="Code" buildaction="Compile" />
89- <File name="src" subtype="Directory" buildaction="Compile" />
90- <File name="Resources" subtype="Directory" buildaction="Compile" />
91- <File name="Resources/Do.Interface.Linux.Docky.addin.xml" subtype="Code" buildaction="EmbedAsResource" />
92- <File name="src/Docky.Interface" subtype="Directory" buildaction="Compile" />
93- <File name="src/Docky.Utilities" subtype="Directory" buildaction="Compile" />
94- <File name="src/Docky.Interface/DockArea.cs" subtype="Code" buildaction="Compile" />
95- <File name="src/Docky.Interface/DockState.cs" subtype="Code" buildaction="Compile" />
96- <File name="src/Docky.Interface/DockWindow.cs" subtype="Code" buildaction="Compile" />
97- <File name="src/Docky.Interface/DrawState.cs" subtype="Code" buildaction="Compile" />
98- <File name="src/Docky.Interface/Util.cs" subtype="Code" buildaction="Compile" />
99- <File name="src/Docky.Interface/Docky.Interface.Painters" subtype="Directory" buildaction="Compile" />
100- <File name="src/Docky.Interface/Docky.Interface.Painters/DockBackgroundRenderer.cs" subtype="Code" buildaction="Compile" />
101- <File name="src/Docky.Interface/Docky.Interface.Painters/SummonModeRenderer.cs" subtype="Code" buildaction="Compile" />
102- <File name="src/Docky.Utilities/DockPreferences.cs" subtype="Code" buildaction="Compile" />
103- <File name="src/Docky.Utilities/GtkUtils.cs" subtype="Code" buildaction="Compile" />
104- <File name="src/Docky.Interface/IRightClickable.cs" subtype="Code" buildaction="Compile" />
105- <File name="src/Docky.Interface/UpdateRequestArgs.cs" subtype="Code" buildaction="Compile" />
106- <File name="src/Docky.Interface/DockAnimationState.cs" subtype="Code" buildaction="Compile" />
107- <File name="src/Docky.Interface/ItemPositionProvider.cs" subtype="Code" buildaction="Compile" />
108- <File name="src/Docky.Interface/ClickAnimationType.cs" subtype="Code" buildaction="Compile" />
109- <File name="src/Docky.Interface/LayoutUtils.cs" subtype="Code" buildaction="Compile" />
110- <File name="src/Docky.Utilities/DockOrientation.cs" subtype="Code" buildaction="Compile" />
111- <File name="src/Docky.Interface/Docky.Interface.Menus" subtype="Directory" buildaction="Compile" />
112- <File name="src/Docky.Interface/Docky.Interface.Menus/DockPopupMenu.cs" subtype="Code" buildaction="Compile" />
113- <File name="src/Docky.Interface/Docky.Interface.Menus/DockItemMenu.cs" subtype="Code" buildaction="Compile" />
114- <File name="src/Docky.Interface/Docky.Interface.Menus/AbstractMenuButtonArgs.cs" subtype="Code" buildaction="Compile" />
115- <File name="src/Docky.Interface/Docky.Interface.Menus/LaunchMenuButtonArgs.cs" subtype="Code" buildaction="Compile" />
116- <File name="src/Docky.Interface/Docky.Interface.Menus/SeparatorMenuButtonArgs.cs" subtype="Code" buildaction="Compile" />
117- <File name="src/Docky.Interface/Docky.Interface.Menus/RunnableMenuButtonArgs.cs" subtype="Code" buildaction="Compile" />
118- <File name="src/Docky.Interface/Docky.Interface.Menus/SimpleMenuButtonArgs.cs" subtype="Code" buildaction="Compile" />
119- <File name="src/Docky.Interface/Docky.Interface.Menus/WindowMenuButtonArgs.cs" subtype="Code" buildaction="Compile" />
120- <File name="src/Docky.Interface/DragState.cs" subtype="Code" buildaction="Compile" />
121- <File name="src/Docky.Core" subtype="Directory" buildaction="Compile" />
122- <File name="src/Docky.Core/DockServices.cs" subtype="Code" buildaction="Compile" />
123- <File name="src/Docky.Core/IItemsService.cs" subtype="Code" buildaction="Compile" />
124- <File name="src/Docky.Core/IDockService.cs" subtype="Code" buildaction="Compile" />
125- <File name="src/Docky.Core/Docky.Core.Default" subtype="Directory" buildaction="Compile" />
126- <File name="src/Docky.Core/Docky.Core.Default/ItemsService.cs" subtype="Code" buildaction="Compile" />
127- <File name="src/Docky.Core/IDrawingService.cs" subtype="Code" buildaction="Compile" />
128- <File name="src/Docky.Core/Docky.Core.Default/DrawingService.cs" subtype="Code" buildaction="Compile" />
129- <File name="src/Docky.Interface/IDockPainter.cs" subtype="Code" buildaction="Compile" />
130- <File name="src/Docky.Core/IDoInteropService.cs" subtype="Code" buildaction="Compile" />
131- <File name="src/Docky.Core/Docky.Core.Default/DoInteropService.cs" subtype="Code" buildaction="Compile" />
132- <File name="src/Docky.Interface/DoInteropService.cs" subtype="Code" buildaction="Compile" />
133- <File name="src/Docky.Core/IPainterService.cs" subtype="Code" buildaction="Compile" />
134- <File name="src/Docky.Core/Docky.Core.Default/PainterService.cs" subtype="Code" buildaction="Compile" />
135- <File name="src/Docky.Interface/PaintNeededArgs.cs" subtype="Code" buildaction="Compile" />
136- <File name="src/Docky.Interface/Docky.Interface.Painters/HotSeatPainter.cs" subtype="Code" buildaction="Compile" />
137- <File name="src/Docky.Interface/DockArea_Rendering.cs" subtype="Code" buildaction="Compile" />
138- <File name="src/Docky.Interface/Docky.Interface.Items" subtype="Directory" buildaction="Compile" />
139- <File name="src/Docky.Interface/Docky.Interface.Items/ActionDockItem.cs" subtype="Code" buildaction="Compile" />
140- <File name="src/Docky.Interface/Docky.Interface.Items/AbstractDockItem.cs" subtype="Code" buildaction="Compile" />
141- <File name="src/Docky.Interface/Docky.Interface.Items/ItemDockItem.cs" subtype="Code" buildaction="Compile" />
142- <File name="src/Docky.Interface/Docky.Interface.Items/HotSeatProxyItem.cs" subtype="Code" buildaction="Compile" />
143- <File name="src/Docky.Interface/Docky.Interface.Items/ApplicationDockItem.cs" subtype="Code" buildaction="Compile" />
144- <File name="src/Docky.Interface/Docky.Interface.Items/TrashDockItem.cs" subtype="Code" buildaction="Compile" />
145- <File name="src/Docky.Interface/Docky.Interface.Items/SeparatorItem.cs" subtype="Code" buildaction="Compile" />
146- <File name="src/Docky.Interface/Docky.Interface.Items/DoDockItem.cs" subtype="Code" buildaction="Compile" />
147- <File name="src/Docky.Interface/Docky.Interface.Items/ClockDockItem.cs" subtype="Code" buildaction="Compile" />
148- <File name="src/Docky.Interface/Docky.Interface.Items/WnckDockItem.cs" subtype="Code" buildaction="Compile" />
149- <File name="src/Docky.Interface/Docky.Interface.Painters/CalendarPainter.cs" subtype="Code" buildaction="Compile" />
150- <File name="src/Docky.Core/IDockletService.cs" subtype="Code" buildaction="Compile" />
151- <File name="src/Docky.Interface/Docky.Interface.Items/AbstractDockletItem.cs" subtype="Code" buildaction="Compile" />
152- <File name="src/Docky.Core/Docky.Core.Default/DockletService.cs" subtype="Code" buildaction="Compile" />
153- <File name="src/Docky.Interface/Docky.Interface.Menus/ToggleDockletMenuButtonArgs.cs" subtype="Code" buildaction="Compile" />
154- <File name="src/Docky.Interface/Docky.Interface.Painters/AbstractIntegratedPainter.cs" subtype="Code" buildaction="Compile" />
155- <File name="src/Docky.Interface/Docky.Interface.Menus/AbstractMenuArgs.cs" subtype="Code" buildaction="Compile" />
156- <File name="src/Docky.Interface/Docky.Interface.Menus/WidgetMenuArgs.cs" subtype="Code" buildaction="Compile" />
157- <File name="src/Docky.Interface/TextRenderContext.cs" subtype="Code" buildaction="Compile" />
158- <File name="gtk-gui/gui.stetic" subtype="Code" buildaction="EmbedAsResource" />
159- <File name="gtk-gui/generated.cs" subtype="Code" buildaction="Compile" />
160- <File name="src/Docky.Interface/DockyConfigurationWidget.cs" subtype="Code" buildaction="Compile" />
161- <File name="gtk-gui/Docky.Interface.DockyConfigurationWidget.cs" subtype="Code" buildaction="Compile" />
162- <File name="src/Docky.Utilities/AutohideType.cs" subtype="Code" buildaction="Compile" />
163- <File name="src/Docky.Interface/AutohideTracker.cs" subtype="Code" buildaction="Compile" />
164- <File name="src/Docky.Interface/PoofWindow.cs" subtype="Code" buildaction="Compile" />
165- <File name="src/Docky.Interface/CursorTracker.cs" subtype="Code" buildaction="Compile" />
166- <File name="src/Docky.Interface/DnDTracker.cs" subtype="Code" buildaction="Compile" />
167- <File name="src/Docky.Interface/DrawingService.cs" subtype="Code" buildaction="Compile" />
168- </Contents>
169- <References>
170- <ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
171- <ProjectReference type="Gac" localcopy="True" refto="wnck-sharp, Version=2.20.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
172- <ProjectReference type="Gac" localcopy="True" refto="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
173- <ProjectReference type="Gac" localcopy="True" refto="Mono.Posix, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
174- <ProjectReference type="Gac" localcopy="True" refto="Mono.Cairo, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
175- <ProjectReference type="Gac" localcopy="True" refto="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
176- <ProjectReference type="Gac" localcopy="True" refto="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
177- <ProjectReference type="Gac" localcopy="True" refto="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
178- <ProjectReference type="Project" localcopy="True" refto="Do.Interface.Linux" />
179- <ProjectReference type="Project" localcopy="True" refto="Do.Platform" />
180- <ProjectReference type="Project" localcopy="True" refto="Do.Universe" />
181- <ProjectReference type="Gac" localcopy="True" refto="gnomedesktop-sharp, Version=2.20.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
182- <ProjectReference type="Gac" localcopy="True" refto="rsvg2-sharp, Version=2.18.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
183- <ProjectReference type="Gac" localcopy="True" refto="Mono.Addins, Version=0.3.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
184- <ProjectReference type="Project" localcopy="True" refto="Do.Interface.Wink" />
185- <ProjectReference type="Project" localcopy="True" refto="Do.Platform.Linux" />
186- <ProjectReference type="Project" localcopy="True" refto="Do.Interface.Linux.AnimationBase" />
187- <ProjectReference type="Gac" localcopy="True" refto="pango-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
188- </References>
189-</Project>
190\ No newline at end of file
191
192=== removed file 'Do.Interface.Linux.Docky/Makefile.am'
193--- Do.Interface.Linux.Docky/Makefile.am 2009-06-06 05:39:12 +0000
194+++ Do.Interface.Linux.Docky/Makefile.am 1970-01-01 00:00:00 +0000
195@@ -1,106 +0,0 @@
196-# Simple component buildsystem
197-include $(top_srcdir)/build.rules.mk
198-
199-ASSEMBLY = Do.Interface.Linux.Docky
200-TARGET = library
201-
202-PKG_CONFIG_FILES = do.interface.linux.docky.pc
203-
204-FILES = \
205- gtk-gui/Docky.Interface.DockyConfigurationWidget.cs \
206- gtk-gui/generated.cs \
207- AssemblyInfo.cs \
208- src/Docky.Core/DockServices.cs \
209- src/Docky.Core/IDockletService.cs \
210- src/Docky.Core/IDockService.cs \
211- src/Docky.Core/IDrawingService.cs \
212- src/Docky.Core/IItemsService.cs \
213- src/Docky.Core/IPainterService.cs \
214- src/Docky.Core/IDoInteropService.cs \
215- src/Docky.Core/Docky.Core.Default/ItemsService.cs \
216- src/Docky.Core/Docky.Core.Default/DrawingService.cs \
217- src/Docky.Core/Docky.Core.Default/DoInteropService.cs \
218- src/Docky.Core/Docky.Core.Default/DockletService.cs \
219- src/Docky.Core/Docky.Core.Default/PainterService.cs \
220- src/Docky.Interface/AutohideTracker.cs \
221- src/Docky.Interface/ClickAnimationType.cs \
222- src/Docky.Interface/CursorTracker.cs \
223- src/Docky.Interface/DnDTracker.cs \
224- src/Docky.Interface/DockArea.cs \
225- src/Docky.Interface/DockArea_Rendering.cs \
226- src/Docky.Interface/DockAnimationState.cs \
227- src/Docky.Interface/DockyConfigurationWidget.cs \
228- src/Docky.Interface/DoInteropService.cs \
229- src/Docky.Interface/Docky.Interface.Items/AbstractDockItem.cs \
230- src/Docky.Interface/Docky.Interface.Items/AbstractDockletItem.cs \
231- src/Docky.Interface/Docky.Interface.Items/ActionDockItem.cs \
232- src/Docky.Interface/Docky.Interface.Items/ApplicationDockItem.cs \
233- src/Docky.Interface/Docky.Interface.Items/ClockDockItem.cs \
234- src/Docky.Interface/Docky.Interface.Items/DoDockItem.cs \
235- src/Docky.Interface/Docky.Interface.Items/HotSeatProxyItem.cs \
236- src/Docky.Interface/Docky.Interface.Items/ItemDockItem.cs \
237- src/Docky.Interface/Docky.Interface.Items/SeparatorItem.cs \
238- src/Docky.Interface/Docky.Interface.Items/TrashDockItem.cs \
239- src/Docky.Interface/Docky.Interface.Items/WnckDockItem.cs \
240- src/Docky.Interface/Docky.Interface.Menus/AbstractMenuArgs.cs \
241- src/Docky.Interface/Docky.Interface.Menus/AbstractMenuButtonArgs.cs \
242- src/Docky.Interface/Docky.Interface.Menus/DockItemMenu.cs \
243- src/Docky.Interface/Docky.Interface.Menus/DockPopupMenu.cs \
244- src/Docky.Interface/Docky.Interface.Menus/LaunchMenuButtonArgs.cs \
245- src/Docky.Interface/Docky.Interface.Menus/RunnableMenuButtonArgs.cs \
246- src/Docky.Interface/Docky.Interface.Menus/SimpleMenuButtonArgs.cs \
247- src/Docky.Interface/Docky.Interface.Menus/SeparatorMenuButtonArgs.cs \
248- src/Docky.Interface/Docky.Interface.Menus/ToggleDockletMenuButtonArgs.cs \
249- src/Docky.Interface/Docky.Interface.Menus/WidgetMenuArgs.cs \
250- src/Docky.Interface/Docky.Interface.Menus/WindowMenuButtonArgs.cs \
251- src/Docky.Interface/DockState.cs \
252- src/Docky.Interface/DockWindow.cs \
253- src/Docky.Interface/Docky.Interface.Painters/AbstractIntegratedPainter.cs \
254- src/Docky.Interface/Docky.Interface.Painters/CalendarPainter.cs \
255- src/Docky.Interface/Docky.Interface.Painters/DockBackgroundRenderer.cs \
256- src/Docky.Interface/Docky.Interface.Painters/HotSeatPainter.cs \
257- src/Docky.Interface/Docky.Interface.Painters/SummonModeRenderer.cs \
258- src/Docky.Interface/DragState.cs \
259- src/Docky.Interface/DrawState.cs \
260- src/Docky.Interface/DrawingService.cs \
261- src/Docky.Interface/IDockPainter.cs \
262- src/Docky.Interface/IRightClickable.cs \
263- src/Docky.Interface/ItemPositionProvider.cs \
264- src/Docky.Interface/LayoutUtils.cs \
265- src/Docky.Interface/PaintNeededArgs.cs \
266- src/Docky.Interface/PoofWindow.cs \
267- src/Docky.Interface/TextRenderContext.cs \
268- src/Docky.Interface/UpdateRequestArgs.cs \
269- src/Docky.Interface/Util.cs \
270- src/Docky.Utilities/AutohideType.cs \
271- src/Docky.Utilities/DockOrientation.cs \
272- src/Docky.Utilities/DockPreferences.cs \
273- src/Docky.Utilities/GtkUtils.cs
274-
275-RESOURCES = \
276- gtk-gui/gui.stetic \
277- Resources/Do.Interface.Linux.Docky.addin.xml \
278- Resources/poof.png \
279- Resources/close.svg \
280- Resources/run.svg \
281- Resources/minimize.svg \
282- Resources/maximize.svg
283-
284-REFERENCES = \
285- System \
286- System.Core \
287- Mono.Cairo \
288- Mono.Posix \
289- $(GTK_SHARP_20_LIBS) \
290- $(GNOME_DESKTOP_SHARP_20_LIBS) \
291- $(LIBRSVG_SHARP_LIBS) \
292- $(MONO_ADDINS_LIBS) \
293- $(WNCK_SHARP_10_LIBS)
294-
295-PROJECT_REFERENCES = \
296- Do.Interface.Linux \
297- Do.Interface.Wink \
298- Do.Platform \
299- Do.Platform.Linux \
300- Do.Interface.Linux.AnimationBase \
301- Do.Universe
302
303=== removed directory 'Do.Interface.Linux.Docky/Resources'
304=== removed file 'Do.Interface.Linux.Docky/Resources/Do.Interface.Linux.Docky.addin.xml'
305--- Do.Interface.Linux.Docky/Resources/Do.Interface.Linux.Docky.addin.xml 2009-04-18 03:12:46 +0000
306+++ Do.Interface.Linux.Docky/Resources/Do.Interface.Linux.Docky.addin.xml 1970-01-01 00:00:00 +0000
307@@ -1,33 +0,0 @@
308-<Addin
309- id="Interface.Linux.Docky"
310- namespace="Do"
311- version="1.0"
312- name="Docky"
313- description="Do + Dock = Docky!"
314- author="Jason Smith"
315- category="Hidden"
316->
317-
318- <Runtime>
319- <Import assembly="Do.Interface.Linux.Docky.dll"/>
320- </Runtime>
321-
322- <Dependencies>
323- <Addin id="Interface.Linux" version="1.0" />
324- </Dependencies>
325-
326- <ExtensionPoint path="/Docky/Docklet">
327- <ExtensionNode name="Docklet" objectType="Docky.Interface.AbstractDockletItem" />
328- <!--<ExtensionNode name="DockPainter" objectType="Docky.Interface.IDockPainter" />-->
329- </ExtensionPoint>
330-
331- <Extension path="/Docky/Docklet">
332- <Docklet type="Docky.Interface.ClockDockItem" />
333- <Docklet type="Docky.Interface.TrashDockItem" />
334- </Extension>
335-
336- <Extension path = "/Do/InterfaceWindow">
337- <InterfaceWindow type="Docky.Interface.DockWindow" />
338- </Extension>
339-
340-</Addin>
341
342=== removed file 'Do.Interface.Linux.Docky/Resources/close.svg'
343--- Do.Interface.Linux.Docky/Resources/close.svg 2009-03-04 20:41:38 +0000
344+++ Do.Interface.Linux.Docky/Resources/close.svg 1970-01-01 00:00:00 +0000
345@@ -1,83 +0,0 @@
346-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
347-<!-- Created with Inkscape (http://www.inkscape.org/) -->
348-<svg
349- xmlns:dc="http://purl.org/dc/elements/1.1/"
350- xmlns:cc="http://creativecommons.org/ns#"
351- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
352- xmlns:svg="http://www.w3.org/2000/svg"
353- xmlns="http://www.w3.org/2000/svg"
354- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
355- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
356- width="14"
357- height="14"
358- id="svg6193"
359- sodipodi:version="0.32"
360- inkscape:version="0.46"
361- version="1.0"
362- sodipodi:docname="close.svg"
363- inkscape:output_extension="org.inkscape.output.svg.inkscape">
364- <defs
365- id="defs6195">
366- <inkscape:perspective
367- sodipodi:type="inkscape:persp3d"
368- inkscape:vp_x="0 : 526.18109 : 1"
369- inkscape:vp_y="0 : 1000 : 0"
370- inkscape:vp_z="744.09448 : 526.18109 : 1"
371- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
372- id="perspective6201" />
373- </defs>
374- <sodipodi:namedview
375- id="base"
376- pagecolor="#ffffff"
377- bordercolor="#666666"
378- borderopacity="1.0"
379- gridtolerance="10000"
380- guidetolerance="10"
381- objecttolerance="10"
382- inkscape:pageopacity="0.0"
383- inkscape:pageshadow="2"
384- inkscape:zoom="1"
385- inkscape:cx="3.5427737"
386- inkscape:cy="6.6830016"
387- inkscape:document-units="px"
388- inkscape:current-layer="layer1"
389- showgrid="false"
390- inkscape:snap-bbox="true"
391- inkscape:snap-nodes="false"
392- inkscape:showpageshadow="false"
393- inkscape:window-width="1280"
394- inkscape:window-height="773"
395- inkscape:window-x="0"
396- inkscape:window-y="0"
397- showborder="true">
398- <inkscape:grid
399- type="xygrid"
400- id="grid6207"
401- visible="true"
402- enabled="true" />
403- </sodipodi:namedview>
404- <metadata
405- id="metadata6198">
406- <rdf:RDF>
407- <cc:Work
408- rdf:about="">
409- <dc:format>image/svg+xml</dc:format>
410- <dc:type
411- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
412- </cc:Work>
413- </rdf:RDF>
414- </metadata>
415- <g
416- inkscape:label="Layer 1"
417- inkscape:groupmode="layer"
418- id="layer1">
419- <path
420- transform="matrix(0.7937577,0,0,0.7933553,-43.006567,-57.038729)"
421- d="M 56.9375,73.15625 C 56.590451,73.15625 56.182697,73.254765 55.875,73.5625 C 55.29607,74.141501 55.296071,75.1085 55.875,75.6875 L 60.96875,80.71875 L 55.875,85.78125 C 55.874711,85.791665 55.874711,85.802085 55.875,85.8125 C 55.864178,85.822504 55.853754,85.832928 55.84375,85.84375 C 55.819833,85.872831 55.798895,85.904238 55.78125,85.9375 C 55.768105,85.967773 55.757648,85.999144 55.75,86.03125 C 55.736855,86.061523 55.726398,86.092894 55.71875,86.125 C 55.485129,86.504412 55.36185,86.960872 55.53125,87.375 C 55.760827,87.936254 56.301598,88.285872 56.90625,88.28125 C 57.315243,88.278181 57.686639,88.110521 57.96875,87.8125 L 63.03125,82.75 L 68.0625,87.84375 C 68.33147,88.128477 68.671973,88.26583 69.0625,88.28125 C 69.072915,88.281539 69.083335,88.281539 69.09375,88.28125 C 69.663414,88.294653 70.239763,87.985165 70.46875,87.4375 C 70.655064,86.991921 70.532452,86.523507 70.28125,86.125 C 70.273602,86.092894 70.263145,86.061523 70.25,86.03125 C 70.230767,85.963431 70.198966,85.899828 70.15625,85.84375 C 70.146246,85.832928 70.135822,85.822504 70.125,85.8125 C 70.125289,85.802085 70.125289,85.791665 70.125,85.78125 L 65.03125,80.71875 L 70.125,75.6875 C 70.125085,75.687413 70.122716,75.660249 70.125,75.65625 C 70.124625,75.656615 70.159132,75.61023 70.1875,75.5625 C 70.226075,75.494138 70.249831,75.406896 70.25,75.40625 C 70.492008,75.060083 70.606028,74.665704 70.5,74.25 C 70.366942,73.728258 69.964881,73.35117 69.46875,73.21875 C 68.971302,73.08598 68.406839,73.20829 68.0625,73.5625 L 63.03125,78.6875 L 57.96875,73.5625 C 57.684207,73.277927 57.284553,73.15625 56.9375,73.15625 z"
422- id="path16644"
423- style="fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.47893198999999997px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
424- inkscape:original="M 56.9375 73.71875 C 56.704883 73.71875 56.460281 73.789697 56.28125 73.96875 C 55.923192 74.326852 55.923193 74.923149 56.28125 75.28125 L 61.78125 80.71875 L 56.28125 86.1875 C 56.281323 86.194906 56.281324 86.211345 56.28125 86.21875 C 56.0044 86.486698 55.926952 86.824879 56.0625 87.15625 C 56.198375 87.488428 56.549488 87.721477 56.90625 87.71875 C 57.146364 87.716948 57.402104 87.606942 57.5625 87.4375 L 63.03125 81.9375 L 68.46875 87.4375 C 68.623835 87.60167 68.863158 87.709645 69.09375 87.71875 C 69.479979 87.727837 69.800508 87.546391 69.9375 87.21875 C 70.070926 86.899655 69.986265 86.477481 69.71875 86.21875 C 69.718674 86.211344 69.718673 86.194905 69.71875 86.1875 L 64.21875 80.71875 L 69.71875 75.28125 C 69.726054 75.273744 69.711245 75.257306 69.71875 75.25 C 69.953851 75.026394 70.048155 74.686323 69.96875 74.375 C 69.89052 74.068248 69.638342 73.836969 69.3125 73.75 C 68.978671 73.6609 68.686831 73.744417 68.46875 73.96875 L 63.03125 79.5 L 57.5625 73.96875 C 57.383468 73.789699 57.170117 73.71875 56.9375 73.71875 z "
425- inkscape:radius="0.56279141"
426- sodipodi:type="inkscape:offset" />
427- </g>
428-</svg>
429
430=== removed file 'Do.Interface.Linux.Docky/Resources/maximize.svg'
431--- Do.Interface.Linux.Docky/Resources/maximize.svg 2009-03-04 20:41:38 +0000
432+++ Do.Interface.Linux.Docky/Resources/maximize.svg 1970-01-01 00:00:00 +0000
433@@ -1,80 +0,0 @@
434-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
435-<!-- Created with Inkscape (http://www.inkscape.org/) -->
436-<svg
437- xmlns:dc="http://purl.org/dc/elements/1.1/"
438- xmlns:cc="http://creativecommons.org/ns#"
439- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
440- xmlns:svg="http://www.w3.org/2000/svg"
441- xmlns="http://www.w3.org/2000/svg"
442- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
443- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
444- width="14"
445- height="14"
446- id="svg6193"
447- sodipodi:version="0.32"
448- inkscape:version="0.46"
449- version="1.0"
450- sodipodi:docname="maximize.svg"
451- inkscape:output_extension="org.inkscape.output.svg.inkscape">
452- <defs
453- id="defs6195">
454- <inkscape:perspective
455- sodipodi:type="inkscape:persp3d"
456- inkscape:vp_x="0 : 526.18109 : 1"
457- inkscape:vp_y="0 : 1000 : 0"
458- inkscape:vp_z="744.09448 : 526.18109 : 1"
459- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
460- id="perspective6201" />
461- </defs>
462- <sodipodi:namedview
463- id="base"
464- pagecolor="#ffffff"
465- bordercolor="#666666"
466- borderopacity="1.0"
467- gridtolerance="10000"
468- guidetolerance="10"
469- objecttolerance="10"
470- inkscape:pageopacity="0.0"
471- inkscape:pageshadow="2"
472- inkscape:zoom="8"
473- inkscape:cx="-3.0188643"
474- inkscape:cy="5.8079851"
475- inkscape:document-units="px"
476- inkscape:current-layer="layer1"
477- showgrid="false"
478- inkscape:snap-bbox="true"
479- inkscape:snap-nodes="false"
480- inkscape:showpageshadow="false"
481- inkscape:window-width="1280"
482- inkscape:window-height="773"
483- inkscape:window-x="0"
484- inkscape:window-y="0"
485- showborder="true">
486- <inkscape:grid
487- type="xygrid"
488- id="grid6207"
489- visible="true"
490- enabled="true" />
491- </sodipodi:namedview>
492- <metadata
493- id="metadata6198">
494- <rdf:RDF>
495- <cc:Work
496- rdf:about="">
497- <dc:format>image/svg+xml</dc:format>
498- <dc:type
499- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
500- </cc:Work>
501- </rdf:RDF>
502- </metadata>
503- <g
504- inkscape:label="Layer 1"
505- inkscape:groupmode="layer"
506- id="layer1">
507- <path
508- sodipodi:nodetypes="cccccccccccccccccc"
509- id="rect7717"
510- d="M 2.8437496,1 C 1.8154396,1 0.99999963,1.81544 0.99999963,2.84375 L 0.99999963,11.125 C 0.99999963,12.15331 1.8154396,13 2.8437496,13 L 11.15625,13 C 12.18456,13 13,12.15331 13,11.125 L 13,2.84375 C 13,1.81544 12.18456,1 11.15625,1 L 2.8437496,1 z M 3.8437496,4 L 10.15625,4 C 11.18456,4 12,4.06544 12,5.09375 L 12,10.9375 C 12,11.96581 11.18456,12 10.15625,12 L 3.8437496,12 C 2.8154396,12 1.9999996,11.90331 1.9999996,10.875 L 1.9999996,5.03125 C 1.9999996,4.00294 2.8154396,4 3.8437496,4 z"
511- style="opacity:1;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
512- </g>
513-</svg>
514
515=== removed file 'Do.Interface.Linux.Docky/Resources/minimize.svg'
516--- Do.Interface.Linux.Docky/Resources/minimize.svg 2009-03-04 20:46:53 +0000
517+++ Do.Interface.Linux.Docky/Resources/minimize.svg 1970-01-01 00:00:00 +0000
518@@ -1,80 +0,0 @@
519-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
520-<!-- Created with Inkscape (http://www.inkscape.org/) -->
521-<svg
522- xmlns:dc="http://purl.org/dc/elements/1.1/"
523- xmlns:cc="http://creativecommons.org/ns#"
524- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
525- xmlns:svg="http://www.w3.org/2000/svg"
526- xmlns="http://www.w3.org/2000/svg"
527- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
528- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
529- width="14"
530- height="14"
531- id="svg6193"
532- sodipodi:version="0.32"
533- inkscape:version="0.46"
534- version="1.0"
535- sodipodi:docname="minimize.svg"
536- inkscape:output_extension="org.inkscape.output.svg.inkscape">
537- <defs
538- id="defs6195">
539- <inkscape:perspective
540- sodipodi:type="inkscape:persp3d"
541- inkscape:vp_x="0 : 526.18109 : 1"
542- inkscape:vp_y="0 : 1000 : 0"
543- inkscape:vp_z="744.09448 : 526.18109 : 1"
544- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
545- id="perspective6201" />
546- </defs>
547- <sodipodi:namedview
548- id="base"
549- pagecolor="#ffffff"
550- bordercolor="#666666"
551- borderopacity="1.0"
552- gridtolerance="10000"
553- guidetolerance="10"
554- objecttolerance="10"
555- inkscape:pageopacity="0.0"
556- inkscape:pageshadow="2"
557- inkscape:zoom="11.313708"
558- inkscape:cx="4.6231905"
559- inkscape:cy="4.9176352"
560- inkscape:document-units="px"
561- inkscape:current-layer="layer1"
562- showgrid="true"
563- inkscape:snap-bbox="true"
564- inkscape:snap-nodes="false"
565- inkscape:showpageshadow="false"
566- inkscape:window-width="1280"
567- inkscape:window-height="773"
568- inkscape:window-x="198"
569- inkscape:window-y="93"
570- showborder="true">
571- <inkscape:grid
572- type="xygrid"
573- id="grid6207"
574- visible="true"
575- enabled="true" />
576- </sodipodi:namedview>
577- <metadata
578- id="metadata6198">
579- <rdf:RDF>
580- <cc:Work
581- rdf:about="">
582- <dc:format>image/svg+xml</dc:format>
583- <dc:type
584- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
585- </cc:Work>
586- </rdf:RDF>
587- </metadata>
588- <g
589- inkscape:label="Layer 1"
590- inkscape:groupmode="layer"
591- id="layer1">
592- <path
593- sodipodi:nodetypes="ccccc"
594- id="rect7725"
595- d="M 2.39212,6 L 11.60788,6 C 12.37912,6 13,6.97004 13,8 L 1,8 C 1,6.97004 1.62088,6 2.39212,6 z"
596- style="fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
597- </g>
598-</svg>
599
600=== removed file 'Do.Interface.Linux.Docky/Resources/poof.png'
601Binary files Do.Interface.Linux.Docky/Resources/poof.png 2009-06-08 04:37:47 +0000 and Do.Interface.Linux.Docky/Resources/poof.png 1970-01-01 00:00:00 +0000 differ
602=== removed file 'Do.Interface.Linux.Docky/Resources/run.svg'
603--- Do.Interface.Linux.Docky/Resources/run.svg 2009-03-04 20:41:38 +0000
604+++ Do.Interface.Linux.Docky/Resources/run.svg 1970-01-01 00:00:00 +0000
605@@ -1,79 +0,0 @@
606-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
607-<!-- Created with Inkscape (http://www.inkscape.org/) -->
608-<svg
609- xmlns:dc="http://purl.org/dc/elements/1.1/"
610- xmlns:cc="http://creativecommons.org/ns#"
611- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
612- xmlns:svg="http://www.w3.org/2000/svg"
613- xmlns="http://www.w3.org/2000/svg"
614- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
615- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
616- width="14"
617- height="14"
618- id="svg6193"
619- sodipodi:version="0.32"
620- inkscape:version="0.46"
621- version="1.0"
622- sodipodi:docname="run.svg"
623- inkscape:output_extension="org.inkscape.output.svg.inkscape">
624- <defs
625- id="defs6195">
626- <inkscape:perspective
627- sodipodi:type="inkscape:persp3d"
628- inkscape:vp_x="0 : 526.18109 : 1"
629- inkscape:vp_y="0 : 1000 : 0"
630- inkscape:vp_z="744.09448 : 526.18109 : 1"
631- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
632- id="perspective6201" />
633- </defs>
634- <sodipodi:namedview
635- id="base"
636- pagecolor="#ffffff"
637- bordercolor="#666666"
638- borderopacity="1.0"
639- gridtolerance="10000"
640- guidetolerance="10"
641- objecttolerance="10"
642- inkscape:pageopacity="0.0"
643- inkscape:pageshadow="2"
644- inkscape:zoom="0.5"
645- inkscape:cx="-186.99549"
646- inkscape:cy="75.597192"
647- inkscape:document-units="px"
648- inkscape:current-layer="layer1"
649- showgrid="true"
650- inkscape:snap-bbox="true"
651- inkscape:snap-nodes="false"
652- inkscape:showpageshadow="false"
653- inkscape:window-width="1280"
654- inkscape:window-height="773"
655- inkscape:window-x="0"
656- inkscape:window-y="0"
657- showborder="true">
658- <inkscape:grid
659- type="xygrid"
660- id="grid6207"
661- visible="true"
662- enabled="true" />
663- </sodipodi:namedview>
664- <metadata
665- id="metadata6198">
666- <rdf:RDF>
667- <cc:Work
668- rdf:about="">
669- <dc:format>image/svg+xml</dc:format>
670- <dc:type
671- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
672- </cc:Work>
673- </rdf:RDF>
674- </metadata>
675- <g
676- inkscape:label="Layer 1"
677- inkscape:groupmode="layer"
678- id="layer1">
679- <path
680- id="path21644"
681- d="M 5.9999999,1 L 5.9999999,3.125 C 5.6334999,3.21937 5.2866499,3.3753 4.9687499,3.5625 L 3.4062499,2 L 1.9999999,3.40625 L 3.5624999,4.96875 C 3.3753099,5.2865 3.2187599,5.63322 3.1249999,6 L 0.99999992,6 L 0.99999992,8 L 3.1249999,8 C 3.2209299,8.36546 3.3718399,8.71511 3.5624999,9.03125 L 1.9999999,10.59375 L 3.4062499,12 L 4.9999999,10.40625 C 5.3139999,10.58801 5.6391599,10.75063 5.9999999,10.84375 L 5.9999999,13 L 7.9999999,13 L 7.9999999,10.84375 C 8.3504799,10.7533 8.6931999,10.61217 8.9999999,10.4375 L 9.0312499,10.4375 L 10.59375,12 L 12,10.59375 L 10.4375,9.03125 C 10.632,8.71099 10.77788,8.37172 10.875,8 L 13,8 L 13,6 L 10.84375,6 C 10.74676,5.63796 10.62263,5.28283 10.4375,4.96875 L 12,3.40625 L 10.59375,2 L 9.0312499,3.5625 C 8.7106399,3.37184 8.3702199,3.22032 7.9999999,3.125 L 7.9999999,1 L 5.9999999,1 z M 6.9999999,5 C 8.1039799,5.00001 8.9999999,5.89603 8.9999999,7 C 9.0000299,8.10397 8.1039899,9 6.9999999,9 C 5.8959999,9.00001 4.9999999,8.10397 4.9999999,7 C 5.0000099,5.89602 5.8960099,5 6.9999999,5 z"
682- style="opacity:1;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
683- </g>
684-</svg>
685
686=== removed file 'Do.Interface.Linux.Docky/do.interface.linux.docky.pc.in'
687--- Do.Interface.Linux.Docky/do.interface.linux.docky.pc.in 2009-04-18 03:20:52 +0000
688+++ Do.Interface.Linux.Docky/do.interface.linux.docky.pc.in 1970-01-01 00:00:00 +0000
689@@ -1,6 +0,0 @@
690-Name: Do.Interface.Linux.Docky
691-Description: GNOME Do Docky Interface
692-Version: @ABI_VERSION@
693-
694-Requires: do.interface.linux
695-Libs: -r:@expanded_libdir@/@PACKAGE@/Do.Interface.Linux.Docky.dll
696
697=== removed directory 'Do.Interface.Linux.Docky/gtk-gui'
698=== removed file 'Do.Interface.Linux.Docky/gtk-gui/Docky.Interface.DockyConfigurationWidget.cs'
699--- Do.Interface.Linux.Docky/gtk-gui/Docky.Interface.DockyConfigurationWidget.cs 2009-06-19 04:30:03 +0000
700+++ Do.Interface.Linux.Docky/gtk-gui/Docky.Interface.DockyConfigurationWidget.cs 1970-01-01 00:00:00 +0000
701@@ -1,395 +0,0 @@
702-// ------------------------------------------------------------------------------
703-// <autogenerated>
704-// This code was generated by a tool.
705-//
706-//
707-// Changes to this file may cause incorrect behavior and will be lost if
708-// the code is regenerated.
709-// </autogenerated>
710-// ------------------------------------------------------------------------------
711-
712-namespace Docky.Interface {
713-
714-
715- public partial class DockyConfigurationWidget {
716-
717- private Gtk.VBox vbox2;
718-
719- private Gtk.Frame frame1;
720-
721- private Gtk.Alignment GtkAlignment;
722-
723- private Gtk.VBox vbox3;
724-
725- private Gtk.Table table1;
726-
727- private Gtk.CheckButton advanced_indicators_checkbutton;
728-
729- private Gtk.ComboBox autohide_combo;
730-
731- private Gtk.HBox hbox1;
732-
733- private Gtk.HBox hbox10;
734-
735- private Gtk.HBox hbox11;
736-
737- private Gtk.CheckButton zoom_checkbutton;
738-
739- private Gtk.HBox hbox4;
740-
741- private Gtk.HScale icon_size_scale;
742-
743- private Gtk.Label label2;
744-
745- private Gtk.ComboBox orientation_combobox;
746-
747- private Gtk.Label orientation_label;
748-
749- private Gtk.Label orientation_label1;
750-
751- private Gtk.HScale zoom_scale;
752-
753- private Gtk.Label GtkLabel3;
754-
755- private Gtk.HSeparator hseparator1;
756-
757- private Gtk.Frame frame2;
758-
759- private Gtk.Alignment GtkAlignment1;
760-
761- private Gtk.Table table2;
762-
763- private Gtk.HBox hbox6;
764-
765- private Gtk.HBox hbox7;
766-
767- private Gtk.HBox hbox8;
768-
769- private Gtk.Button clear_removed_button;
770-
771- private Gtk.HBox hbox9;
772-
773- private Gtk.ScrolledWindow scrolled_window;
774-
775- private Gtk.Label GtkLabel5;
776-
777- protected virtual void Build() {
778- Stetic.Gui.Initialize(this);
779- // Widget Docky.Interface.DockyConfigurationWidget
780- Stetic.BinContainer.Attach(this);
781- this.Name = "Docky.Interface.DockyConfigurationWidget";
782- // Container child Docky.Interface.DockyConfigurationWidget.Gtk.Container+ContainerChild
783- this.vbox2 = new Gtk.VBox();
784- this.vbox2.Name = "vbox2";
785- this.vbox2.Spacing = 6;
786- // Container child vbox2.Gtk.Box+BoxChild
787- this.frame1 = new Gtk.Frame();
788- this.frame1.Name = "frame1";
789- this.frame1.ShadowType = ((Gtk.ShadowType)(0));
790- // Container child frame1.Gtk.Container+ContainerChild
791- this.GtkAlignment = new Gtk.Alignment(0F, 0F, 1F, 1F);
792- this.GtkAlignment.Name = "GtkAlignment";
793- this.GtkAlignment.LeftPadding = ((uint)(12));
794- this.GtkAlignment.TopPadding = ((uint)(5));
795- this.GtkAlignment.RightPadding = ((uint)(5));
796- this.GtkAlignment.BottomPadding = ((uint)(5));
797- // Container child GtkAlignment.Gtk.Container+ContainerChild
798- this.vbox3 = new Gtk.VBox();
799- this.vbox3.Name = "vbox3";
800- this.vbox3.Spacing = 6;
801- // Container child vbox3.Gtk.Box+BoxChild
802- this.table1 = new Gtk.Table(((uint)(4)), ((uint)(5)), false);
803- this.table1.Name = "table1";
804- this.table1.RowSpacing = ((uint)(6));
805- this.table1.ColumnSpacing = ((uint)(6));
806- // Container child table1.Gtk.Table+TableChild
807- this.advanced_indicators_checkbutton = new Gtk.CheckButton();
808- this.advanced_indicators_checkbutton.CanFocus = true;
809- this.advanced_indicators_checkbutton.Name = "advanced_indicators_checkbutton";
810- this.advanced_indicators_checkbutton.Label = Mono.Unix.Catalog.GetString("Indicate Multiple Windows");
811- this.advanced_indicators_checkbutton.DrawIndicator = true;
812- this.advanced_indicators_checkbutton.UseUnderline = true;
813- this.table1.Add(this.advanced_indicators_checkbutton);
814- Gtk.Table.TableChild w1 = ((Gtk.Table.TableChild)(this.table1[this.advanced_indicators_checkbutton]));
815- w1.LeftAttach = ((uint)(3));
816- w1.RightAttach = ((uint)(4));
817- w1.XOptions = ((Gtk.AttachOptions)(4));
818- w1.YOptions = ((Gtk.AttachOptions)(4));
819- // Container child table1.Gtk.Table+TableChild
820- this.autohide_combo = Gtk.ComboBox.NewText();
821- this.autohide_combo.Name = "autohide_combo";
822- this.table1.Add(this.autohide_combo);
823- Gtk.Table.TableChild w2 = ((Gtk.Table.TableChild)(this.table1[this.autohide_combo]));
824- w2.TopAttach = ((uint)(1));
825- w2.BottomAttach = ((uint)(2));
826- w2.LeftAttach = ((uint)(1));
827- w2.RightAttach = ((uint)(2));
828- w2.XOptions = ((Gtk.AttachOptions)(4));
829- w2.YOptions = ((Gtk.AttachOptions)(4));
830- // Container child table1.Gtk.Table+TableChild
831- this.hbox1 = new Gtk.HBox();
832- this.hbox1.Name = "hbox1";
833- this.hbox1.Spacing = 6;
834- this.table1.Add(this.hbox1);
835- Gtk.Table.TableChild w3 = ((Gtk.Table.TableChild)(this.table1[this.hbox1]));
836- w3.LeftAttach = ((uint)(2));
837- w3.RightAttach = ((uint)(3));
838- w3.YOptions = ((Gtk.AttachOptions)(4));
839- // Container child table1.Gtk.Table+TableChild
840- this.hbox10 = new Gtk.HBox();
841- this.hbox10.Name = "hbox10";
842- this.hbox10.Spacing = 6;
843- // Container child hbox10.Gtk.Box+BoxChild
844- this.hbox11 = new Gtk.HBox();
845- this.hbox11.Name = "hbox11";
846- this.hbox11.Spacing = 6;
847- this.hbox10.Add(this.hbox11);
848- Gtk.Box.BoxChild w4 = ((Gtk.Box.BoxChild)(this.hbox10[this.hbox11]));
849- w4.Position = 1;
850- // Container child hbox10.Gtk.Box+BoxChild
851- this.zoom_checkbutton = new Gtk.CheckButton();
852- this.zoom_checkbutton.CanFocus = true;
853- this.zoom_checkbutton.Name = "zoom_checkbutton";
854- this.zoom_checkbutton.Label = Mono.Unix.Catalog.GetString("Zoom:");
855- this.zoom_checkbutton.DrawIndicator = true;
856- this.zoom_checkbutton.UseUnderline = true;
857- this.hbox10.Add(this.zoom_checkbutton);
858- Gtk.Box.BoxChild w5 = ((Gtk.Box.BoxChild)(this.hbox10[this.zoom_checkbutton]));
859- w5.Position = 2;
860- w5.Expand = false;
861- this.table1.Add(this.hbox10);
862- Gtk.Table.TableChild w6 = ((Gtk.Table.TableChild)(this.table1[this.hbox10]));
863- w6.TopAttach = ((uint)(3));
864- w6.BottomAttach = ((uint)(4));
865- w6.XOptions = ((Gtk.AttachOptions)(4));
866- w6.YOptions = ((Gtk.AttachOptions)(4));
867- // Container child table1.Gtk.Table+TableChild
868- this.hbox4 = new Gtk.HBox();
869- this.hbox4.Name = "hbox4";
870- this.hbox4.Spacing = 6;
871- this.table1.Add(this.hbox4);
872- Gtk.Table.TableChild w7 = ((Gtk.Table.TableChild)(this.table1[this.hbox4]));
873- w7.LeftAttach = ((uint)(4));
874- w7.RightAttach = ((uint)(5));
875- w7.YOptions = ((Gtk.AttachOptions)(4));
876- // Container child table1.Gtk.Table+TableChild
877- this.icon_size_scale = new Gtk.HScale(null);
878- this.icon_size_scale.CanFocus = true;
879- this.icon_size_scale.Name = "icon_size_scale";
880- this.icon_size_scale.Adjustment.Lower = 24;
881- this.icon_size_scale.Adjustment.Upper = 128;
882- this.icon_size_scale.Adjustment.PageIncrement = 10;
883- this.icon_size_scale.Adjustment.StepIncrement = 1;
884- this.icon_size_scale.DrawValue = true;
885- this.icon_size_scale.Digits = 0;
886- this.icon_size_scale.ValuePos = ((Gtk.PositionType)(1));
887- this.table1.Add(this.icon_size_scale);
888- Gtk.Table.TableChild w8 = ((Gtk.Table.TableChild)(this.table1[this.icon_size_scale]));
889- w8.TopAttach = ((uint)(2));
890- w8.BottomAttach = ((uint)(3));
891- w8.LeftAttach = ((uint)(1));
892- w8.RightAttach = ((uint)(4));
893- w8.XOptions = ((Gtk.AttachOptions)(4));
894- w8.YOptions = ((Gtk.AttachOptions)(4));
895- // Container child table1.Gtk.Table+TableChild
896- this.label2 = new Gtk.Label();
897- this.label2.Name = "label2";
898- this.label2.Xalign = 1F;
899- this.label2.LabelProp = Mono.Unix.Catalog.GetString("Icon Size:");
900- this.table1.Add(this.label2);
901- Gtk.Table.TableChild w9 = ((Gtk.Table.TableChild)(this.table1[this.label2]));
902- w9.TopAttach = ((uint)(2));
903- w9.BottomAttach = ((uint)(3));
904- w9.XOptions = ((Gtk.AttachOptions)(4));
905- w9.YOptions = ((Gtk.AttachOptions)(4));
906- // Container child table1.Gtk.Table+TableChild
907- this.orientation_combobox = Gtk.ComboBox.NewText();
908- this.orientation_combobox.Name = "orientation_combobox";
909- this.table1.Add(this.orientation_combobox);
910- Gtk.Table.TableChild w10 = ((Gtk.Table.TableChild)(this.table1[this.orientation_combobox]));
911- w10.LeftAttach = ((uint)(1));
912- w10.RightAttach = ((uint)(2));
913- w10.XOptions = ((Gtk.AttachOptions)(4));
914- w10.YOptions = ((Gtk.AttachOptions)(4));
915- // Container child table1.Gtk.Table+TableChild
916- this.orientation_label = new Gtk.Label();
917- this.orientation_label.WidthRequest = 70;
918- this.orientation_label.Name = "orientation_label";
919- this.orientation_label.Xalign = 1F;
920- this.orientation_label.LabelProp = Mono.Unix.Catalog.GetString("Orientation:");
921- this.table1.Add(this.orientation_label);
922- Gtk.Table.TableChild w11 = ((Gtk.Table.TableChild)(this.table1[this.orientation_label]));
923- w11.XOptions = ((Gtk.AttachOptions)(4));
924- w11.YOptions = ((Gtk.AttachOptions)(4));
925- // Container child table1.Gtk.Table+TableChild
926- this.orientation_label1 = new Gtk.Label();
927- this.orientation_label1.Name = "orientation_label1";
928- this.orientation_label1.Xalign = 1F;
929- this.orientation_label1.LabelProp = Mono.Unix.Catalog.GetString("Hiding:");
930- this.table1.Add(this.orientation_label1);
931- Gtk.Table.TableChild w12 = ((Gtk.Table.TableChild)(this.table1[this.orientation_label1]));
932- w12.TopAttach = ((uint)(1));
933- w12.BottomAttach = ((uint)(2));
934- w12.XOptions = ((Gtk.AttachOptions)(4));
935- w12.YOptions = ((Gtk.AttachOptions)(4));
936- // Container child table1.Gtk.Table+TableChild
937- this.zoom_scale = new Gtk.HScale(null);
938- this.zoom_scale.CanFocus = true;
939- this.zoom_scale.Name = "zoom_scale";
940- this.zoom_scale.UpdatePolicy = ((Gtk.UpdateType)(1));
941- this.zoom_scale.Adjustment.Lower = 0.1;
942- this.zoom_scale.Adjustment.Upper = 4;
943- this.zoom_scale.Adjustment.PageIncrement = 0.1;
944- this.zoom_scale.Adjustment.PageSize = 0.1;
945- this.zoom_scale.Adjustment.StepIncrement = 0.1;
946- this.zoom_scale.Adjustment.Value = 0.7;
947- this.zoom_scale.DrawValue = true;
948- this.zoom_scale.Digits = 0;
949- this.zoom_scale.ValuePos = ((Gtk.PositionType)(1));
950- this.table1.Add(this.zoom_scale);
951- Gtk.Table.TableChild w13 = ((Gtk.Table.TableChild)(this.table1[this.zoom_scale]));
952- w13.TopAttach = ((uint)(3));
953- w13.BottomAttach = ((uint)(4));
954- w13.LeftAttach = ((uint)(1));
955- w13.RightAttach = ((uint)(4));
956- w13.XOptions = ((Gtk.AttachOptions)(4));
957- w13.YOptions = ((Gtk.AttachOptions)(4));
958- this.vbox3.Add(this.table1);
959- Gtk.Box.BoxChild w14 = ((Gtk.Box.BoxChild)(this.vbox3[this.table1]));
960- w14.Position = 0;
961- w14.Expand = false;
962- w14.Fill = false;
963- this.GtkAlignment.Add(this.vbox3);
964- this.frame1.Add(this.GtkAlignment);
965- this.GtkLabel3 = new Gtk.Label();
966- this.GtkLabel3.Name = "GtkLabel3";
967- this.GtkLabel3.LabelProp = Mono.Unix.Catalog.GetString("<b>Docky Behavior</b>");
968- this.GtkLabel3.UseMarkup = true;
969- this.frame1.LabelWidget = this.GtkLabel3;
970- this.vbox2.Add(this.frame1);
971- Gtk.Box.BoxChild w17 = ((Gtk.Box.BoxChild)(this.vbox2[this.frame1]));
972- w17.Position = 0;
973- w17.Expand = false;
974- w17.Fill = false;
975- // Container child vbox2.Gtk.Box+BoxChild
976- this.hseparator1 = new Gtk.HSeparator();
977- this.hseparator1.Name = "hseparator1";
978- this.vbox2.Add(this.hseparator1);
979- Gtk.Box.BoxChild w18 = ((Gtk.Box.BoxChild)(this.vbox2[this.hseparator1]));
980- w18.Position = 1;
981- w18.Expand = false;
982- w18.Fill = false;
983- // Container child vbox2.Gtk.Box+BoxChild
984- this.frame2 = new Gtk.Frame();
985- this.frame2.Name = "frame2";
986- this.frame2.ShadowType = ((Gtk.ShadowType)(0));
987- // Container child frame2.Gtk.Container+ContainerChild
988- this.GtkAlignment1 = new Gtk.Alignment(0F, 0F, 1F, 1F);
989- this.GtkAlignment1.Name = "GtkAlignment1";
990- this.GtkAlignment1.LeftPadding = ((uint)(12));
991- this.GtkAlignment1.TopPadding = ((uint)(5));
992- this.GtkAlignment1.RightPadding = ((uint)(12));
993- // Container child GtkAlignment1.Gtk.Container+ContainerChild
994- this.table2 = new Gtk.Table(((uint)(2)), ((uint)(3)), false);
995- this.table2.Name = "table2";
996- this.table2.RowSpacing = ((uint)(6));
997- this.table2.ColumnSpacing = ((uint)(6));
998- // Container child table2.Gtk.Table+TableChild
999- this.hbox6 = new Gtk.HBox();
1000- this.hbox6.WidthRequest = 70;
1001- this.hbox6.Name = "hbox6";
1002- this.hbox6.Spacing = 6;
1003- this.table2.Add(this.hbox6);
1004- Gtk.Table.TableChild w19 = ((Gtk.Table.TableChild)(this.table2[this.hbox6]));
1005- w19.XOptions = ((Gtk.AttachOptions)(4));
1006- // Container child table2.Gtk.Table+TableChild
1007- this.hbox7 = new Gtk.HBox();
1008- this.hbox7.Name = "hbox7";
1009- this.hbox7.Spacing = 6;
1010- this.table2.Add(this.hbox7);
1011- Gtk.Table.TableChild w20 = ((Gtk.Table.TableChild)(this.table2[this.hbox7]));
1012- w20.LeftAttach = ((uint)(2));
1013- w20.RightAttach = ((uint)(3));
1014- w20.YOptions = ((Gtk.AttachOptions)(4));
1015- // Container child table2.Gtk.Table+TableChild
1016- this.hbox8 = new Gtk.HBox();
1017- this.hbox8.Name = "hbox8";
1018- this.hbox8.Spacing = 6;
1019- // Container child hbox8.Gtk.Box+BoxChild
1020- this.clear_removed_button = new Gtk.Button();
1021- this.clear_removed_button.CanFocus = true;
1022- this.clear_removed_button.Name = "clear_removed_button";
1023- this.clear_removed_button.UseUnderline = true;
1024- // Container child clear_removed_button.Gtk.Container+ContainerChild
1025- Gtk.Alignment w21 = new Gtk.Alignment(0.5F, 0.5F, 0F, 0F);
1026- // Container child GtkAlignment.Gtk.Container+ContainerChild
1027- Gtk.HBox w22 = new Gtk.HBox();
1028- w22.Spacing = 2;
1029- // Container child GtkHBox.Gtk.Container+ContainerChild
1030- Gtk.Image w23 = new Gtk.Image();
1031- w23.Pixbuf = Stetic.IconLoader.LoadIcon(this, "gtk-clear", Gtk.IconSize.Menu, 16);
1032- w22.Add(w23);
1033- // Container child GtkHBox.Gtk.Container+ContainerChild
1034- Gtk.Label w25 = new Gtk.Label();
1035- w25.LabelProp = Mono.Unix.Catalog.GetString("Reinstate Removed Items");
1036- w25.UseUnderline = true;
1037- w22.Add(w25);
1038- w21.Add(w22);
1039- this.clear_removed_button.Add(w21);
1040- this.hbox8.Add(this.clear_removed_button);
1041- Gtk.Box.BoxChild w29 = ((Gtk.Box.BoxChild)(this.hbox8[this.clear_removed_button]));
1042- w29.Position = 0;
1043- w29.Expand = false;
1044- w29.Fill = false;
1045- // Container child hbox8.Gtk.Box+BoxChild
1046- this.hbox9 = new Gtk.HBox();
1047- this.hbox9.Name = "hbox9";
1048- this.hbox9.Spacing = 6;
1049- this.hbox8.Add(this.hbox9);
1050- Gtk.Box.BoxChild w30 = ((Gtk.Box.BoxChild)(this.hbox8[this.hbox9]));
1051- w30.Position = 2;
1052- this.table2.Add(this.hbox8);
1053- Gtk.Table.TableChild w31 = ((Gtk.Table.TableChild)(this.table2[this.hbox8]));
1054- w31.TopAttach = ((uint)(1));
1055- w31.BottomAttach = ((uint)(2));
1056- w31.LeftAttach = ((uint)(1));
1057- w31.RightAttach = ((uint)(2));
1058- w31.XOptions = ((Gtk.AttachOptions)(4));
1059- w31.YOptions = ((Gtk.AttachOptions)(4));
1060- // Container child table2.Gtk.Table+TableChild
1061- this.scrolled_window = new Gtk.ScrolledWindow();
1062- this.scrolled_window.CanFocus = true;
1063- this.scrolled_window.Name = "scrolled_window";
1064- this.scrolled_window.ShadowType = ((Gtk.ShadowType)(1));
1065- this.table2.Add(this.scrolled_window);
1066- Gtk.Table.TableChild w32 = ((Gtk.Table.TableChild)(this.table2[this.scrolled_window]));
1067- w32.LeftAttach = ((uint)(1));
1068- w32.RightAttach = ((uint)(2));
1069- this.GtkAlignment1.Add(this.table2);
1070- this.frame2.Add(this.GtkAlignment1);
1071- this.GtkLabel5 = new Gtk.Label();
1072- this.GtkLabel5.Name = "GtkLabel5";
1073- this.GtkLabel5.LabelProp = Mono.Unix.Catalog.GetString("<b>Docklets</b>");
1074- this.GtkLabel5.UseMarkup = true;
1075- this.frame2.LabelWidget = this.GtkLabel5;
1076- this.vbox2.Add(this.frame2);
1077- Gtk.Box.BoxChild w35 = ((Gtk.Box.BoxChild)(this.vbox2[this.frame2]));
1078- w35.Position = 2;
1079- w35.Expand = false;
1080- w35.Fill = false;
1081- this.Add(this.vbox2);
1082- if ((this.Child != null)) {
1083- this.Child.ShowAll();
1084- }
1085- this.Hide();
1086- this.zoom_scale.FormatValue += new Gtk.FormatValueHandler(this.OnZoomScaleFormatValue);
1087- this.zoom_scale.ValueChanged += new System.EventHandler(this.OnZoomScaleValueChanged);
1088- this.orientation_combobox.Changed += new System.EventHandler(this.OnOrientationComboboxChanged);
1089- this.icon_size_scale.ValueChanged += new System.EventHandler(this.OnIconSizeScaleValueChanged);
1090- this.zoom_checkbutton.Toggled += new System.EventHandler(this.OnZoomCheckbuttonToggled);
1091- this.autohide_combo.Changed += new System.EventHandler(this.OnAutohideComboChanged);
1092- this.advanced_indicators_checkbutton.Toggled += new System.EventHandler(this.OnAdvancedIndicatorsCheckbuttonToggled);
1093- this.clear_removed_button.Clicked += new System.EventHandler(this.OnClearRemovedButtonClicked);
1094- }
1095- }
1096-}
1097
1098=== removed file 'Do.Interface.Linux.Docky/gtk-gui/generated.cs'
1099--- Do.Interface.Linux.Docky/gtk-gui/generated.cs 2009-05-26 10:20:54 +0000
1100+++ Do.Interface.Linux.Docky/gtk-gui/generated.cs 1970-01-01 00:00:00 +0000
1101@@ -1,115 +0,0 @@
1102-// ------------------------------------------------------------------------------
1103-// <autogenerated>
1104-// This code was generated by a tool.
1105-//
1106-//
1107-// Changes to this file may cause incorrect behavior and will be lost if
1108-// the code is regenerated.
1109-// </autogenerated>
1110-// ------------------------------------------------------------------------------
1111-
1112-namespace Stetic {
1113-
1114-
1115- internal class Gui {
1116-
1117- private static bool initialized;
1118-
1119- internal static void Initialize(Gtk.Widget iconRenderer) {
1120- if ((Stetic.Gui.initialized == false)) {
1121- Stetic.Gui.initialized = true;
1122- }
1123- }
1124- }
1125-
1126- internal class BinContainer {
1127-
1128- private Gtk.Widget child;
1129-
1130- private Gtk.UIManager uimanager;
1131-
1132- public static BinContainer Attach(Gtk.Bin bin) {
1133- BinContainer bc = new BinContainer();
1134- bin.SizeRequested += new Gtk.SizeRequestedHandler(bc.OnSizeRequested);
1135- bin.SizeAllocated += new Gtk.SizeAllocatedHandler(bc.OnSizeAllocated);
1136- bin.Added += new Gtk.AddedHandler(bc.OnAdded);
1137- return bc;
1138- }
1139-
1140- private void OnSizeRequested(object sender, Gtk.SizeRequestedArgs args) {
1141- if ((this.child != null)) {
1142- args.Requisition = this.child.SizeRequest();
1143- }
1144- }
1145-
1146- private void OnSizeAllocated(object sender, Gtk.SizeAllocatedArgs args) {
1147- if ((this.child != null)) {
1148- this.child.Allocation = args.Allocation;
1149- }
1150- }
1151-
1152- private void OnAdded(object sender, Gtk.AddedArgs args) {
1153- this.child = args.Widget;
1154- }
1155-
1156- public void SetUiManager(Gtk.UIManager uim) {
1157- this.uimanager = uim;
1158- this.child.Realized += new System.EventHandler(this.OnRealized);
1159- }
1160-
1161- private void OnRealized(object sender, System.EventArgs args) {
1162- if ((this.uimanager != null)) {
1163- Gtk.Widget w;
1164- w = this.child.Toplevel;
1165- if (((w != null) && typeof(Gtk.Window).IsInstanceOfType(w))) {
1166- ((Gtk.Window)(w)).AddAccelGroup(this.uimanager.AccelGroup);
1167- this.uimanager = null;
1168- }
1169- }
1170- }
1171- }
1172-
1173- internal class IconLoader {
1174-
1175- public static Gdk.Pixbuf LoadIcon(Gtk.Widget widget, string name, Gtk.IconSize size, int sz) {
1176- Gdk.Pixbuf res = widget.RenderIcon(name, size, null);
1177- if ((res != null)) {
1178- return res;
1179- }
1180- else {
1181- try {
1182- return Gtk.IconTheme.Default.LoadIcon(name, sz, 0);
1183- }
1184- catch (System.Exception ) {
1185- if ((name != "gtk-missing-image")) {
1186- return Stetic.IconLoader.LoadIcon(widget, "gtk-missing-image", size, sz);
1187- }
1188- else {
1189- Gdk.Pixmap pmap = new Gdk.Pixmap(Gdk.Screen.Default.RootWindow, sz, sz);
1190- Gdk.GC gc = new Gdk.GC(pmap);
1191- gc.RgbFgColor = new Gdk.Color(255, 255, 255);
1192- pmap.DrawRectangle(gc, true, 0, 0, sz, sz);
1193- gc.RgbFgColor = new Gdk.Color(0, 0, 0);
1194- pmap.DrawRectangle(gc, false, 0, 0, (sz - 1), (sz - 1));
1195- gc.SetLineAttributes(3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round);
1196- gc.RgbFgColor = new Gdk.Color(255, 0, 0);
1197- pmap.DrawLine(gc, (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)), ((sz - 1) - (sz / 4)));
1198- pmap.DrawLine(gc, ((sz - 1) - (sz / 4)), (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)));
1199- return Gdk.Pixbuf.FromDrawable(pmap, pmap.Colormap, 0, 0, 0, 0, sz, sz);
1200- }
1201- }
1202- }
1203- }
1204- }
1205-
1206- internal class ActionGroups {
1207-
1208- public static Gtk.ActionGroup GetActionGroup(System.Type type) {
1209- return Stetic.ActionGroups.GetActionGroup(type.FullName);
1210- }
1211-
1212- public static Gtk.ActionGroup GetActionGroup(string name) {
1213- return null;
1214- }
1215- }
1216-}
1217
1218=== removed file 'Do.Interface.Linux.Docky/gtk-gui/gui.stetic'
1219--- Do.Interface.Linux.Docky/gtk-gui/gui.stetic 2009-06-19 04:30:03 +0000
1220+++ Do.Interface.Linux.Docky/gtk-gui/gui.stetic 1970-01-01 00:00:00 +0000
1221@@ -1,593 +0,0 @@
1222-<?xml version="1.0" encoding="utf-8"?>
1223-<stetic-interface>
1224- <configuration>
1225- <images-root-path>..</images-root-path>
1226- <target-gtk-version>2.12</target-gtk-version>
1227- </configuration>
1228- <import>
1229- <widget-library name="wnck-sharp, Version=2.20.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
1230- <widget-library name="../../Do.Interface.Linux/bin/Debug/Do.Interface.Linux.dll" />
1231- <widget-library name="gnomedesktop-sharp, Version=2.20.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
1232- <widget-library name="../../Do.Interface.Wink/bin/Debug/Do.Interface.Wnck.dll" />
1233- <widget-library name="../../Do.Platform.Linux/bin/Debug/Do.Platform.Linux.dll" />
1234- <widget-library name="../../Do.Interface.Linux.AnimationBase/bin/Debug/Do.Interface.Linux.AnimationBase.dll" />
1235- <widget-library name="../bin/Debug/Do.Interface.Linux.Docky.dll" internal="true" />
1236- </import>
1237- <widget class="Gtk.Bin" id="Docky.Interface.DockyConfigurationWidget" design-size="567 350">
1238- <property name="MemberName" />
1239- <property name="Visible">False</property>
1240- <child>
1241- <widget class="Gtk.VBox" id="vbox2">
1242- <property name="MemberName" />
1243- <property name="Spacing">6</property>
1244- <child>
1245- <widget class="Gtk.Frame" id="frame1">
1246- <property name="MemberName" />
1247- <property name="ShadowType">None</property>
1248- <child>
1249- <widget class="Gtk.Alignment" id="GtkAlignment">
1250- <property name="MemberName" />
1251- <property name="Xalign">0</property>
1252- <property name="Yalign">0</property>
1253- <property name="LeftPadding">12</property>
1254- <property name="TopPadding">5</property>
1255- <property name="RightPadding">5</property>
1256- <property name="BottomPadding">5</property>
1257- <child>
1258- <widget class="Gtk.VBox" id="vbox3">
1259- <property name="MemberName" />
1260- <property name="Spacing">6</property>
1261- <child>
1262- <widget class="Gtk.Table" id="table1">
1263- <property name="MemberName" />
1264- <property name="NRows">4</property>
1265- <property name="NColumns">5</property>
1266- <property name="RowSpacing">6</property>
1267- <property name="ColumnSpacing">6</property>
1268- <child>
1269- <placeholder />
1270- </child>
1271- <child>
1272- <placeholder />
1273- </child>
1274- <child>
1275- <placeholder />
1276- </child>
1277- <child>
1278- <placeholder />
1279- </child>
1280- <child>
1281- <placeholder />
1282- </child>
1283- <child>
1284- <widget class="Gtk.CheckButton" id="advanced_indicators_checkbutton">
1285- <property name="MemberName" />
1286- <property name="CanFocus">True</property>
1287- <property name="Label" translatable="yes">Indicate Multiple Windows</property>
1288- <property name="DrawIndicator">True</property>
1289- <property name="HasLabel">True</property>
1290- <property name="UseUnderline">True</property>
1291- <signal name="Toggled" handler="OnAdvancedIndicatorsCheckbuttonToggled" />
1292- </widget>
1293- <packing>
1294- <property name="LeftAttach">3</property>
1295- <property name="RightAttach">4</property>
1296- <property name="AutoSize">False</property>
1297- <property name="XOptions">Fill</property>
1298- <property name="YOptions">Fill</property>
1299- <property name="XExpand">False</property>
1300- <property name="XFill">True</property>
1301- <property name="XShrink">False</property>
1302- <property name="YExpand">False</property>
1303- <property name="YFill">True</property>
1304- <property name="YShrink">False</property>
1305- </packing>
1306- </child>
1307- <child>
1308- <widget class="Gtk.ComboBox" id="autohide_combo">
1309- <property name="MemberName" />
1310- <property name="IsTextCombo">True</property>
1311- <property name="Items" translatable="yes" />
1312- <signal name="Changed" handler="OnAutohideComboChanged" />
1313- </widget>
1314- <packing>
1315- <property name="TopAttach">1</property>
1316- <property name="BottomAttach">2</property>
1317- <property name="LeftAttach">1</property>
1318- <property name="RightAttach">2</property>
1319- <property name="AutoSize">True</property>
1320- <property name="XOptions">Fill</property>
1321- <property name="YOptions">Fill</property>
1322- <property name="XExpand">False</property>
1323- <property name="XFill">True</property>
1324- <property name="XShrink">False</property>
1325- <property name="YExpand">False</property>
1326- <property name="YFill">True</property>
1327- <property name="YShrink">False</property>
1328- </packing>
1329- </child>
1330- <child>
1331- <widget class="Gtk.HBox" id="hbox1">
1332- <property name="MemberName" />
1333- <property name="Spacing">6</property>
1334- <child>
1335- <placeholder />
1336- </child>
1337- <child>
1338- <placeholder />
1339- </child>
1340- <child>
1341- <placeholder />
1342- </child>
1343- </widget>
1344- <packing>
1345- <property name="LeftAttach">2</property>
1346- <property name="RightAttach">3</property>
1347- <property name="AutoSize">True</property>
1348- <property name="YOptions">Fill</property>
1349- <property name="XExpand">True</property>
1350- <property name="XFill">True</property>
1351- <property name="XShrink">False</property>
1352- <property name="YExpand">False</property>
1353- <property name="YFill">True</property>
1354- <property name="YShrink">False</property>
1355- </packing>
1356- </child>
1357- <child>
1358- <widget class="Gtk.HBox" id="hbox10">
1359- <property name="MemberName" />
1360- <property name="Spacing">6</property>
1361- <child>
1362- <placeholder />
1363- </child>
1364- <child>
1365- <widget class="Gtk.HBox" id="hbox11">
1366- <property name="MemberName" />
1367- <property name="Spacing">6</property>
1368- <child>
1369- <placeholder />
1370- </child>
1371- <child>
1372- <placeholder />
1373- </child>
1374- <child>
1375- <placeholder />
1376- </child>
1377- </widget>
1378- <packing>
1379- <property name="Position">1</property>
1380- <property name="AutoSize">True</property>
1381- </packing>
1382- </child>
1383- <child>
1384- <widget class="Gtk.CheckButton" id="zoom_checkbutton">
1385- <property name="MemberName" />
1386- <property name="CanFocus">True</property>
1387- <property name="Label" translatable="yes">Zoom:</property>
1388- <property name="DrawIndicator">True</property>
1389- <property name="HasLabel">True</property>
1390- <property name="UseUnderline">True</property>
1391- <signal name="Toggled" handler="OnZoomCheckbuttonToggled" />
1392- </widget>
1393- <packing>
1394- <property name="Position">2</property>
1395- <property name="AutoSize">False</property>
1396- <property name="Expand">False</property>
1397- </packing>
1398- </child>
1399- </widget>
1400- <packing>
1401- <property name="TopAttach">3</property>
1402- <property name="BottomAttach">4</property>
1403- <property name="AutoSize">True</property>
1404- <property name="XOptions">Fill</property>
1405- <property name="YOptions">Fill</property>
1406- <property name="XExpand">False</property>
1407- <property name="XFill">True</property>
1408- <property name="XShrink">False</property>
1409- <property name="YExpand">False</property>
1410- <property name="YFill">True</property>
1411- <property name="YShrink">False</property>
1412- </packing>
1413- </child>
1414- <child>
1415- <widget class="Gtk.HBox" id="hbox4">
1416- <property name="MemberName" />
1417- <property name="Spacing">6</property>
1418- <child>
1419- <placeholder />
1420- </child>
1421- <child>
1422- <placeholder />
1423- </child>
1424- <child>
1425- <placeholder />
1426- </child>
1427- </widget>
1428- <packing>
1429- <property name="LeftAttach">4</property>
1430- <property name="RightAttach">5</property>
1431- <property name="AutoSize">True</property>
1432- <property name="YOptions">Fill</property>
1433- <property name="XExpand">True</property>
1434- <property name="XFill">True</property>
1435- <property name="XShrink">False</property>
1436- <property name="YExpand">False</property>
1437- <property name="YFill">True</property>
1438- <property name="YShrink">False</property>
1439- </packing>
1440- </child>
1441- <child>
1442- <widget class="Gtk.HScale" id="icon_size_scale">
1443- <property name="MemberName" />
1444- <property name="CanFocus">True</property>
1445- <property name="Lower">24</property>
1446- <property name="Upper">128</property>
1447- <property name="PageIncrement">10</property>
1448- <property name="StepIncrement">1</property>
1449- <property name="DrawValue">True</property>
1450- <property name="Digits">0</property>
1451- <property name="ValuePos">Right</property>
1452- <signal name="ValueChanged" handler="OnIconSizeScaleValueChanged" />
1453- </widget>
1454- <packing>
1455- <property name="TopAttach">2</property>
1456- <property name="BottomAttach">3</property>
1457- <property name="LeftAttach">1</property>
1458- <property name="RightAttach">4</property>
1459- <property name="AutoSize">True</property>
1460- <property name="XOptions">Fill</property>
1461- <property name="YOptions">Fill</property>
1462- <property name="XExpand">False</property>
1463- <property name="XFill">True</property>
1464- <property name="XShrink">False</property>
1465- <property name="YExpand">False</property>
1466- <property name="YFill">True</property>
1467- <property name="YShrink">False</property>
1468- </packing>
1469- </child>
1470- <child>
1471- <widget class="Gtk.Label" id="label2">
1472- <property name="MemberName" />
1473- <property name="Xalign">1</property>
1474- <property name="LabelProp" translatable="yes">Icon Size:</property>
1475- </widget>
1476- <packing>
1477- <property name="TopAttach">2</property>
1478- <property name="BottomAttach">3</property>
1479- <property name="AutoSize">True</property>
1480- <property name="XOptions">Fill</property>
1481- <property name="YOptions">Fill</property>
1482- <property name="XExpand">False</property>
1483- <property name="XFill">True</property>
1484- <property name="XShrink">False</property>
1485- <property name="YExpand">False</property>
1486- <property name="YFill">True</property>
1487- <property name="YShrink">False</property>
1488- </packing>
1489- </child>
1490- <child>
1491- <widget class="Gtk.ComboBox" id="orientation_combobox">
1492- <property name="MemberName" />
1493- <property name="IsTextCombo">True</property>
1494- <property name="Items" translatable="yes" />
1495- <signal name="Changed" handler="OnOrientationComboboxChanged" />
1496- </widget>
1497- <packing>
1498- <property name="LeftAttach">1</property>
1499- <property name="RightAttach">2</property>
1500- <property name="AutoSize">True</property>
1501- <property name="XOptions">Fill</property>
1502- <property name="YOptions">Fill</property>
1503- <property name="XExpand">False</property>
1504- <property name="XFill">True</property>
1505- <property name="XShrink">False</property>
1506- <property name="YExpand">False</property>
1507- <property name="YFill">True</property>
1508- <property name="YShrink">False</property>
1509- </packing>
1510- </child>
1511- <child>
1512- <widget class="Gtk.Label" id="orientation_label">
1513- <property name="MemberName" />
1514- <property name="WidthRequest">70</property>
1515- <property name="Xalign">1</property>
1516- <property name="LabelProp" translatable="yes">Orientation:</property>
1517- </widget>
1518- <packing>
1519- <property name="AutoSize">True</property>
1520- <property name="XOptions">Fill</property>
1521- <property name="YOptions">Fill</property>
1522- <property name="XExpand">False</property>
1523- <property name="XFill">True</property>
1524- <property name="XShrink">False</property>
1525- <property name="YExpand">False</property>
1526- <property name="YFill">True</property>
1527- <property name="YShrink">False</property>
1528- </packing>
1529- </child>
1530- <child>
1531- <widget class="Gtk.Label" id="orientation_label1">
1532- <property name="MemberName" />
1533- <property name="Xalign">1</property>
1534- <property name="LabelProp" translatable="yes">Hiding:</property>
1535- </widget>
1536- <packing>
1537- <property name="TopAttach">1</property>
1538- <property name="BottomAttach">2</property>
1539- <property name="AutoSize">True</property>
1540- <property name="XOptions">Fill</property>
1541- <property name="YOptions">Fill</property>
1542- <property name="XExpand">False</property>
1543- <property name="XFill">True</property>
1544- <property name="XShrink">False</property>
1545- <property name="YExpand">False</property>
1546- <property name="YFill">True</property>
1547- <property name="YShrink">False</property>
1548- </packing>
1549- </child>
1550- <child>
1551- <widget class="Gtk.HScale" id="zoom_scale">
1552- <property name="MemberName" />
1553- <property name="CanFocus">True</property>
1554- <property name="UpdatePolicy">Discontinuous</property>
1555- <property name="Lower">0.1</property>
1556- <property name="Upper">4</property>
1557- <property name="PageIncrement">0.1</property>
1558- <property name="PageSize">0.1</property>
1559- <property name="StepIncrement">0.1</property>
1560- <property name="Value">0.7</property>
1561- <property name="DrawValue">True</property>
1562- <property name="Digits">0</property>
1563- <property name="ValuePos">Right</property>
1564- <signal name="FormatValue" handler="OnZoomScaleFormatValue" />
1565- <signal name="ValueChanged" handler="OnZoomScaleValueChanged" />
1566- </widget>
1567- <packing>
1568- <property name="TopAttach">3</property>
1569- <property name="BottomAttach">4</property>
1570- <property name="LeftAttach">1</property>
1571- <property name="RightAttach">4</property>
1572- <property name="AutoSize">True</property>
1573- <property name="XOptions">Fill</property>
1574- <property name="YOptions">Fill</property>
1575- <property name="XExpand">False</property>
1576- <property name="XFill">True</property>
1577- <property name="XShrink">False</property>
1578- <property name="YExpand">False</property>
1579- <property name="YFill">True</property>
1580- <property name="YShrink">False</property>
1581- </packing>
1582- </child>
1583- </widget>
1584- <packing>
1585- <property name="Position">0</property>
1586- <property name="AutoSize">True</property>
1587- <property name="Expand">False</property>
1588- <property name="Fill">False</property>
1589- </packing>
1590- </child>
1591- </widget>
1592- </child>
1593- </widget>
1594- </child>
1595- <child>
1596- <widget class="Gtk.Label" id="GtkLabel3">
1597- <property name="MemberName" />
1598- <property name="LabelProp" translatable="yes">&lt;b&gt;Docky Behavior&lt;/b&gt;</property>
1599- <property name="UseMarkup">True</property>
1600- </widget>
1601- <packing>
1602- <property name="type">label_item</property>
1603- </packing>
1604- </child>
1605- </widget>
1606- <packing>
1607- <property name="Position">0</property>
1608- <property name="AutoSize">True</property>
1609- <property name="Expand">False</property>
1610- <property name="Fill">False</property>
1611- </packing>
1612- </child>
1613- <child>
1614- <widget class="Gtk.HSeparator" id="hseparator1">
1615- <property name="MemberName" />
1616- </widget>
1617- <packing>
1618- <property name="Position">1</property>
1619- <property name="AutoSize">True</property>
1620- <property name="Expand">False</property>
1621- <property name="Fill">False</property>
1622- </packing>
1623- </child>
1624- <child>
1625- <widget class="Gtk.Frame" id="frame2">
1626- <property name="MemberName" />
1627- <property name="ShadowType">None</property>
1628- <child>
1629- <widget class="Gtk.Alignment" id="GtkAlignment1">
1630- <property name="MemberName" />
1631- <property name="Xalign">0</property>
1632- <property name="Yalign">0</property>
1633- <property name="LeftPadding">12</property>
1634- <property name="TopPadding">5</property>
1635- <property name="RightPadding">12</property>
1636- <child>
1637- <widget class="Gtk.Table" id="table2">
1638- <property name="MemberName" />
1639- <property name="NRows">2</property>
1640- <property name="NColumns">3</property>
1641- <property name="RowSpacing">6</property>
1642- <property name="ColumnSpacing">6</property>
1643- <child>
1644- <placeholder />
1645- </child>
1646- <child>
1647- <placeholder />
1648- </child>
1649- <child>
1650- <widget class="Gtk.HBox" id="hbox6">
1651- <property name="MemberName" />
1652- <property name="WidthRequest">70</property>
1653- <property name="Spacing">6</property>
1654- <child>
1655- <placeholder />
1656- </child>
1657- <child>
1658- <placeholder />
1659- </child>
1660- <child>
1661- <placeholder />
1662- </child>
1663- </widget>
1664- <packing>
1665- <property name="AutoSize">False</property>
1666- <property name="XOptions">Fill</property>
1667- <property name="XExpand">False</property>
1668- <property name="XFill">True</property>
1669- <property name="XShrink">False</property>
1670- <property name="YExpand">True</property>
1671- <property name="YFill">True</property>
1672- <property name="YShrink">False</property>
1673- </packing>
1674- </child>
1675- <child>
1676- <widget class="Gtk.HBox" id="hbox7">
1677- <property name="MemberName" />
1678- <property name="Spacing">6</property>
1679- <child>
1680- <placeholder />
1681- </child>
1682- <child>
1683- <placeholder />
1684- </child>
1685- <child>
1686- <placeholder />
1687- </child>
1688- </widget>
1689- <packing>
1690- <property name="LeftAttach">2</property>
1691- <property name="RightAttach">3</property>
1692- <property name="AutoSize">True</property>
1693- <property name="YOptions">Fill</property>
1694- <property name="XExpand">True</property>
1695- <property name="XFill">True</property>
1696- <property name="XShrink">False</property>
1697- <property name="YExpand">False</property>
1698- <property name="YFill">True</property>
1699- <property name="YShrink">False</property>
1700- </packing>
1701- </child>
1702- <child>
1703- <widget class="Gtk.HBox" id="hbox8">
1704- <property name="MemberName" />
1705- <property name="Spacing">6</property>
1706- <child>
1707- <widget class="Gtk.Button" id="clear_removed_button">
1708- <property name="MemberName" />
1709- <property name="CanFocus">True</property>
1710- <property name="Type">TextAndIcon</property>
1711- <property name="Icon">stock:gtk-clear Menu</property>
1712- <property name="Label" translatable="yes">Reinstate Removed Items</property>
1713- <property name="UseUnderline">True</property>
1714- <signal name="Clicked" handler="OnClearRemovedButtonClicked" />
1715- </widget>
1716- <packing>
1717- <property name="Position">0</property>
1718- <property name="AutoSize">True</property>
1719- <property name="Expand">False</property>
1720- <property name="Fill">False</property>
1721- </packing>
1722- </child>
1723- <child>
1724- <placeholder />
1725- </child>
1726- <child>
1727- <widget class="Gtk.HBox" id="hbox9">
1728- <property name="MemberName" />
1729- <property name="Spacing">6</property>
1730- <child>
1731- <placeholder />
1732- </child>
1733- <child>
1734- <placeholder />
1735- </child>
1736- <child>
1737- <placeholder />
1738- </child>
1739- </widget>
1740- <packing>
1741- <property name="Position">2</property>
1742- <property name="AutoSize">True</property>
1743- </packing>
1744- </child>
1745- </widget>
1746- <packing>
1747- <property name="TopAttach">1</property>
1748- <property name="BottomAttach">2</property>
1749- <property name="LeftAttach">1</property>
1750- <property name="RightAttach">2</property>
1751- <property name="AutoSize">True</property>
1752- <property name="XOptions">Fill</property>
1753- <property name="YOptions">Fill</property>
1754- <property name="XExpand">False</property>
1755- <property name="XFill">True</property>
1756- <property name="XShrink">False</property>
1757- <property name="YExpand">False</property>
1758- <property name="YFill">True</property>
1759- <property name="YShrink">False</property>
1760- </packing>
1761- </child>
1762- <child>
1763- <widget class="Gtk.ScrolledWindow" id="scrolled_window">
1764- <property name="MemberName" />
1765- <property name="CanFocus">True</property>
1766- <property name="ShadowType">In</property>
1767- <child>
1768- <widget class="Gtk.Viewport" id="GtkViewport">
1769- <property name="MemberName" />
1770- <property name="ShadowType">None</property>
1771- <child>
1772- <placeholder />
1773- </child>
1774- </widget>
1775- </child>
1776- </widget>
1777- <packing>
1778- <property name="LeftAttach">1</property>
1779- <property name="RightAttach">2</property>
1780- <property name="AutoSize">False</property>
1781- <property name="XExpand">True</property>
1782- <property name="XFill">True</property>
1783- <property name="XShrink">False</property>
1784- <property name="YExpand">True</property>
1785- <property name="YFill">True</property>
1786- <property name="YShrink">False</property>
1787- </packing>
1788- </child>
1789- </widget>
1790- </child>
1791- </widget>
1792- </child>
1793- <child>
1794- <widget class="Gtk.Label" id="GtkLabel5">
1795- <property name="MemberName" />
1796- <property name="LabelProp" translatable="yes">&lt;b&gt;Docklets&lt;/b&gt;</property>
1797- <property name="UseMarkup">True</property>
1798- </widget>
1799- <packing>
1800- <property name="type">label_item</property>
1801- </packing>
1802- </child>
1803- </widget>
1804- <packing>
1805- <property name="Position">2</property>
1806- <property name="AutoSize">True</property>
1807- <property name="Expand">False</property>
1808- <property name="Fill">False</property>
1809- </packing>
1810- </child>
1811- </widget>
1812- </child>
1813- </widget>
1814-</stetic-interface>
1815\ No newline at end of file
1816
1817=== removed directory 'Do.Interface.Linux.Docky/src'
1818=== removed directory 'Do.Interface.Linux.Docky/src/Docky.Core'
1819=== removed file 'Do.Interface.Linux.Docky/src/Docky.Core/DockServices.cs'
1820--- Do.Interface.Linux.Docky/src/Docky.Core/DockServices.cs 2009-06-16 03:19:34 +0000
1821+++ Do.Interface.Linux.Docky/src/Docky.Core/DockServices.cs 1970-01-01 00:00:00 +0000
1822@@ -1,148 +0,0 @@
1823-// DockServices.cs
1824-//
1825-// Copyright (C) 2009 GNOME Do
1826-//
1827-// This program is free software: you can redistribute it and/or modify
1828-// it under the terms of the GNU General Public License as published by
1829-// the Free Software Foundation, either version 3 of the License, or
1830-// (at your option) any later version.
1831-//
1832-// This program is distributed in the hope that it will be useful,
1833-// but WITHOUT ANY WARRANTY; without even the implied warranty of
1834-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1835-// GNU General Public License for more details.
1836-//
1837-// You should have received a copy of the GNU General Public License
1838-// along with this program. If not, see <http://www.gnu.org/licenses/>.
1839-//
1840-
1841-using System;
1842-using System.Collections.Generic;
1843-using System.Linq;
1844-
1845-namespace Docky.Core
1846-{
1847-
1848-
1849- public static class DockServices
1850- {
1851- static List<IDockService> services = new List<IDockService> ();
1852-
1853- static IItemsService items_service;
1854- static IDrawingService drawing_service;
1855- static IDoInteropService do_interop_service;
1856- static IPainterService painter_service;
1857- static IDockletService docklet_service;
1858-
1859- public static IDockletService DockletService {
1860- get {
1861- if (docklet_service == null)
1862- docklet_service = new Default.DockletService () as IDockletService;
1863- return docklet_service;
1864- }
1865- }
1866-
1867- public static IItemsService ItemsService {
1868- get {
1869- if (items_service == null)
1870- items_service = new Default.ItemsService () as IItemsService;
1871- return items_service;
1872- }
1873- }
1874-
1875- public static IDrawingService DrawingService {
1876- get {
1877- if (drawing_service == null)
1878- drawing_service = LoadService<IDrawingService, Default.DrawingService> ();
1879- return drawing_service;
1880- }
1881- }
1882-
1883- public static IDoInteropService DoInteropService {
1884- get {
1885- if (do_interop_service == null)
1886- do_interop_service = LoadService<IDoInteropService, Default.DoInteropService> ();
1887- return do_interop_service;
1888- }
1889- }
1890-
1891- public static IPainterService PainterService {
1892- get {
1893- if (painter_service == null)
1894- painter_service = LoadService<IPainterService, Default.PainterService> ();
1895- return painter_service;
1896- }
1897- }
1898-
1899- public static void Clean ()
1900- {
1901- if (items_service != null) {
1902- items_service.Dispose ();
1903- items_service = null;
1904- }
1905-
1906- if (drawing_service != null) {
1907- drawing_service.Dispose ();
1908- drawing_service = null;
1909- }
1910-
1911- if (painter_service != null) {
1912- painter_service.Dispose ();
1913- painter_service = null;
1914- }
1915-
1916- if (docklet_service != null) {
1917- docklet_service.Dispose ();
1918- docklet_service = null;
1919- }
1920-
1921- if (do_interop_service != null) {
1922- do_interop_service.Dispose ();
1923- do_interop_service = null;
1924- }
1925-
1926- services.Clear ();
1927- }
1928-
1929- public static void RegisterService (IDockService service)
1930- {
1931- services.Add (service);
1932- }
1933-
1934- public static IDockService UnregisterService (IDockService service)
1935- {
1936- if (!services.Contains (service))
1937- return service;
1938-
1939- if (do_interop_service == service)
1940- do_interop_service = null;
1941-
1942- if (painter_service == service)
1943- painter_service = null;
1944-
1945- if (drawing_service == service)
1946- drawing_service = null;
1947-
1948- if (items_service == service)
1949- items_service = null;
1950-
1951- if (docklet_service == service)
1952- docklet_service = null;
1953-
1954- services.Remove (service);
1955-
1956- return service;
1957- }
1958-
1959- static TService LoadService<TService, TElse> ()
1960- where TService : class, IDockService
1961- where TElse : TService
1962- {
1963- if (services.OfType<TService> ().Any ()) {
1964- return services.OfType<TService> ().First () as TService;
1965- } else {
1966- return Activator.CreateInstance<TElse> () as TService;
1967- }
1968- }
1969- }
1970-}
1971
1972=== removed directory 'Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default'
1973=== removed file 'Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/DoInteropService.cs'
1974--- Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/DoInteropService.cs 2009-02-03 09:37:39 +0000
1975+++ Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/DoInteropService.cs 1970-01-01 00:00:00 +0000
1976@@ -1,56 +0,0 @@
1977-// DoInteropService.cs
1978-//
1979-// Copyright (C) 2009 GNOME Do
1980-//
1981-// This program is free software: you can redistribute it and/or modify
1982-// it under the terms of the GNU General Public License as published by
1983-// the Free Software Foundation, either version 3 of the License, or
1984-// (at your option) any later version.
1985-//
1986-// This program is distributed in the hope that it will be useful,
1987-// but WITHOUT ANY WARRANTY; without even the implied warranty of
1988-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1989-// GNU General Public License for more details.
1990-//
1991-// You should have received a copy of the GNU General Public License
1992-// along with this program. If not, see <http://www.gnu.org/licenses/>.
1993-//
1994-
1995-using System;
1996-using Do.Platform;
1997-
1998-namespace Docky.Core.Default
1999-{
2000-
2001-
2002- public class DoInteropService : IDoInteropService
2003- {
2004-
2005- #region IDoInteropService implementation
2006-
2007- public event EventHandler Summoned;
2008-
2009- public event EventHandler Vanished;
2010-
2011- public event EventHandler Reset;
2012-
2013- public event EventHandler ResultsGrow;
2014-
2015- public event EventHandler ResultsShrink;
2016-
2017- public void RequestClickOff ()
2018- {
2019- Log.Error ("Default Do Interop Service cannot perform click off requests");
2020- }
2021-
2022- #endregion
2023-
2024- #region IDisposable implementation
2025-
2026- public void Dispose ()
2027- {
2028- }
2029-
2030- #endregion
2031- }
2032-}
2033
2034=== removed file 'Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/DockletService.cs'
2035--- Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/DockletService.cs 2009-08-28 09:22:04 +0000
2036+++ Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/DockletService.cs 1970-01-01 00:00:00 +0000
2037@@ -1,158 +0,0 @@
2038-//
2039-// Copyright (C) 2009 GNOME Do
2040-//
2041-// This program is free software: you can redistribute it and/or modify
2042-// it under the terms of the GNU General Public License as published by
2043-// the Free Software Foundation, either version 3 of the License, or
2044-// (at your option) any later version.
2045-//
2046-// This program is distributed in the hope that it will be useful,
2047-// but WITHOUT ANY WARRANTY; without even the implied warranty of
2048-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2049-// GNU General Public License for more details.
2050-//
2051-// You should have received a copy of the GNU General Public License
2052-// along with this program. If not, see <http://www.gnu.org/licenses/>.
2053-//
2054-
2055-using System;
2056-using System.Collections.Generic;
2057-using System.Linq;
2058-
2059-using Mono.Addins;
2060-
2061-using Do.Platform;
2062-
2063-using Docky.Core;
2064-using Docky.Interface;
2065-
2066-namespace Docky.Core.Default
2067-{
2068-
2069-
2070- public class DockletService : IDockletService
2071- {
2072- const string ExtensionPath = "/Docky/Docklet";
2073- Dictionary<AbstractDockletItem, bool> docklets;
2074-
2075- #region IDockletService implementation
2076-
2077- public event EventHandler AppletVisibilityChanged;
2078-
2079- public bool ToggleDocklet (AbstractDockletItem docklet)
2080- {
2081- if (!docklets.ContainsKey (docklet))
2082- return false;
2083-
2084- if (docklets [docklet])
2085- docklet.Disable ();
2086- else
2087- docklet.Enable ();
2088-
2089- docklets [docklet] = !docklets [docklet];
2090- SaveConfiguration ();
2091- OnAppletVisibilityChanged ();
2092- return true;
2093- }
2094-
2095- public IEnumerable<AbstractDockletItem> Docklets {
2096- get {
2097- return docklets.Keys.OrderBy (d => d.Name);
2098- }
2099- }
2100-
2101- public IEnumerable<AbstractDockletItem> ActiveDocklets {
2102- get {
2103- if (docklets == null)
2104- yield break;
2105- foreach (AbstractDockletItem adi in docklets
2106- .Where (kvp => kvp.Value)
2107- .Select (kvp => kvp.Key)
2108- .OrderBy (adi => adi.Name))
2109- yield return adi;
2110- }
2111- }
2112-
2113- #endregion
2114-
2115- IPreferences prefs;
2116-
2117- public static IEnumerable<AbstractDockletItem> MADocklets {
2118- get { return AddinManager.GetExtensionObjects (ExtensionPath).OfType<AbstractDockletItem> (); }
2119- }
2120-
2121- public DockletService()
2122- {
2123- prefs = Services.Preferences.Get<DockletService> ();
2124- prefs.PreferencesChanged += HandlePreferencesChanged;
2125-
2126- AddinManager.AddExtensionNodeHandler (ExtensionPath, HandleDockletsChanged);
2127-
2128- BuildDocklets ();
2129- }
2130-
2131- void HandlePreferencesChanged (object sender, PreferencesChangedEventArgs args)
2132- {
2133- if (args.Key != "ActiveApplets")
2134- return;
2135- BuildDocklets ();
2136- OnAppletVisibilityChanged ();
2137- }
2138-
2139- void HandleDockletsChanged (object sender, ExtensionNodeEventArgs args)
2140- {
2141- BuildDocklets ();
2142- SaveConfiguration ();
2143- OnAppletVisibilityChanged ();
2144- }
2145-
2146- void BuildDocklets ()
2147- {
2148- // ToArray this due to lazy evaluation
2149- IEnumerable<AbstractDockletItem> previous = ActiveDocklets.ToArray ();
2150-
2151- IEnumerable<string> visible = VisibleApplets ();
2152- docklets = new Dictionary<AbstractDockletItem, bool> ();
2153-
2154- foreach (AbstractDockletItem adi in MADocklets) {
2155- docklets.Add (adi, visible.Contains (adi.GetType ().Name));
2156- }
2157-
2158- foreach (AbstractDockletItem adi in ActiveDocklets.Where (d => !previous.Contains (d))) {
2159- adi.Enable ();
2160- }
2161- }
2162-
2163- IEnumerable<string> VisibleApplets ()
2164- {
2165- string configString = prefs.Get ("ActiveApplets", "ClockDockItem;");
2166- return configString.Split (';');
2167- }
2168-
2169- void SaveConfiguration ()
2170- {
2171- string s = "";
2172- foreach (AbstractDockletItem abi in ActiveDocklets) {
2173- s += abi.GetType ().Name + ";";
2174- }
2175- if (s != prefs.Get ("ActiveApplets", "ClockDockItem;"))
2176- prefs.Set ("ActiveApplets", s);
2177- }
2178-
2179- void OnAppletVisibilityChanged ()
2180- {
2181- if (AppletVisibilityChanged != null)
2182- AppletVisibilityChanged (this, EventArgs.Empty);
2183- }
2184-
2185- #region IDisposable implementation
2186-
2187- public void Dispose ()
2188- {
2189- AddinManager.RemoveExtensionNodeHandler (ExtensionPath, HandleDockletsChanged);
2190- }
2191-
2192- #endregion
2193-
2194- }
2195-}
2196
2197=== removed file 'Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/DrawingService.cs'
2198--- Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/DrawingService.cs 2009-06-06 05:39:12 +0000
2199+++ Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/DrawingService.cs 1970-01-01 00:00:00 +0000
2200@@ -1,58 +0,0 @@
2201-// DrawingService.cs
2202-//
2203-// Copyright (C) 2009 GNOME Do
2204-//
2205-// This program is free software: you can redistribute it and/or modify
2206-// it under the terms of the GNU General Public License as published by
2207-// the Free Software Foundation, either version 3 of the License, or
2208-// (at your option) any later version.
2209-//
2210-// This program is distributed in the hope that it will be useful,
2211-// but WITHOUT ANY WARRANTY; without even the implied warranty of
2212-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2213-// GNU General Public License for more details.
2214-//
2215-// You should have received a copy of the GNU General Public License
2216-// along with this program. If not, see <http://www.gnu.org/licenses/>.
2217-//
2218-
2219-using System;
2220-
2221-using Docky.Interface;
2222-
2223-namespace Docky.Core.Default
2224-{
2225-
2226- public class DrawingService : IDrawingService
2227- {
2228- #region IDrawingService implementation
2229-
2230- public int CurrentDockWidth {
2231- get {
2232- return 0;
2233- }
2234- }
2235-
2236- public int CurrentDockHeight {
2237- get {
2238- return 0;
2239- }
2240- }
2241-
2242- public Gdk.Rectangle TextPathAtPoint (TextRenderContext context)
2243- {
2244- throw new Exception ("Default drawing service cannot render text");
2245- }
2246-
2247- #endregion
2248-
2249- #region IDisposable implementation
2250-
2251- public void Dispose ()
2252- {
2253- }
2254-
2255- #endregion
2256-
2257- }
2258-}
2259
2260=== removed file 'Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/ItemsService.cs'
2261--- Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/ItemsService.cs 2009-07-08 19:02:56 +0000
2262+++ Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/ItemsService.cs 1970-01-01 00:00:00 +0000
2263@@ -1,881 +0,0 @@
2264-// ItemsService.cs
2265-//
2266-// Copyright (C) 2008 GNOME Do
2267-//
2268-// This program is free software: you can redistribute it and/or modify
2269-// it under the terms of the GNU General Public License as published by
2270-// the Free Software Foundation, either version 3 of the License, or
2271-// (at your option) any later version.
2272-//
2273-// This program is distributed in the hope that it will be useful,
2274-// but WITHOUT ANY WARRANTY; without even the implied warranty of
2275-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2276-// GNU General Public License for more details.
2277-//
2278-// You should have received a copy of the GNU General Public License
2279-// along with this program. If not, see <http://www.gnu.org/licenses/>.
2280-//
2281-
2282-using System;
2283-using System.Collections.Generic;
2284-using System.Collections.ObjectModel;
2285-using System.IO;
2286-using System.Linq;
2287-using System.Runtime.Serialization;
2288-using System.Runtime.Serialization.Formatters.Binary;
2289-using System.Security;
2290-using System.Security.Permissions;
2291-
2292-using Do;
2293-using Do.Interface;
2294-using Do.Interface.Wink;
2295-using Do.Universe;
2296-using Do.Platform;
2297-
2298-using Docky.Interface;
2299-using Docky.Utilities;
2300-
2301-using Wnck;
2302-
2303-namespace Docky.Core.Default
2304-{
2305- public class ItemsService : IItemsService
2306- {
2307- const int UpdateDelay = 20;
2308-
2309- // stores items tied with their original identifier so we can remove them later
2310- Dictionary<string, AbstractDockItem> custom_items;
2311-
2312- // a collection for each of the major types of item
2313- List<AbstractDockItem> output_items, task_items, stat_items;
2314-
2315- // this will be a readonly collection to track out output items
2316- ReadOnlyCollection<AbstractDockItem> readonly_output_items;
2317-
2318- bool CustomItemsRead { get; set; }
2319-
2320- IEnumerable<AbstractDockItem> Docklets {
2321- get { return DockServices.DockletService.ActiveDocklets.Cast<AbstractDockItem> (); }
2322- }
2323-
2324- //// <value>
2325- /// Our main menu. We only ever need one so we will store it here
2326- /// </value>
2327- AbstractDockItem MenuItem { get; set; }
2328-
2329- /// <value>
2330- /// Our separator. we can re-use this to render over and over if need be.
2331- /// </value>
2332- AbstractDockItem Separator { get; set; }
2333-
2334- /// <value>
2335- /// The path to the file we will use to serialize out our custom items
2336- /// </value>
2337- string CustomItemsPath {
2338- get {
2339- return Path.Combine (Services.Paths.UserDataDirectory, GetType ().Name + "_CustomItems");
2340- }
2341- }
2342-
2343- /// <value>
2344- /// The path to the file we will use to store our sort dictionary
2345- /// </value>
2346- string SortDictionaryPath {
2347- get {
2348- return Path.Combine (Services.Paths.UserDataDirectory, GetType ().Name + "_SortDictionary");
2349- }
2350- }
2351-
2352- string DesktopFilesDirectory {
2353- get {
2354- return Path.Combine (Services.Paths.UserDataDirectory, GetType ().Name + "_DesktopFiles");
2355- }
2356- }
2357-
2358- IEnumerable<AbstractDockItem> OrderedItems {
2359- get {
2360- return stat_items
2361- .Concat (custom_items.Values)
2362- .Concat (task_items)
2363- .OrderBy (di => di.Position);
2364- }
2365- }
2366-
2367- int LastPosition {
2368- get {
2369- if (!OrderedItems.Any ())
2370- return 0;
2371- return OrderedItems.Max ((Func<AbstractDockItem, int>) (di => di.Position));
2372- }
2373- }
2374-
2375- #region Constructor
2376-
2377- public ItemsService ()
2378- {
2379- // build our data structures
2380- custom_items = new Dictionary<string, AbstractDockItem> ();
2381- task_items = new List<AbstractDockItem> ();
2382- output_items = new List<AbstractDockItem> ();
2383- stat_items = new List<AbstractDockItem> ();
2384-
2385- // hook up our read only collection
2386- readonly_output_items = output_items.AsReadOnly ();
2387-
2388- Separator = new SeparatorItem ();
2389- MenuItem = new DoDockItem ();
2390-
2391- if (!Directory.Exists (DesktopFilesDirectory))
2392- Directory.CreateDirectory (DesktopFilesDirectory);
2393-
2394- RegisterEvents ();
2395- }
2396-
2397- #endregion
2398-
2399- #region Event Handling
2400- void RegisterEvents ()
2401- {
2402- // core services
2403- Services.Core.UniverseInitialized += HandleUniverseInitialized;
2404-
2405- // wnck events
2406- Wnck.Screen.Default.WindowClosed += HandleWindowClosed;
2407- Wnck.Screen.Default.WindowOpened += HandleWindowOpened;
2408-
2409- // Dock Services
2410- DockPreferences.AutomaticIconsChanged += HandleAutomaticIconsChanged;
2411- DockServices.DockletService.AppletVisibilityChanged += HandleAppletVisibilityChanged;
2412-
2413- RegisterDocklets ();
2414- }
2415-
2416- void RegisterDocklets ()
2417- {
2418- RegisterDockItem (MenuItem);
2419-
2420- foreach (AbstractDockItem item in DockServices.DockletService.Docklets) {
2421- RegisterDockItem (item);
2422- }
2423- }
2424-
2425- void UnregisterEvents ()
2426- {
2427- // core services
2428- Services.Core.UniverseInitialized -= HandleUniverseInitialized;
2429-
2430- // wnck events
2431- if (Wnck.Screen.Default != null) {
2432- Wnck.Screen.Default.WindowClosed -= HandleWindowClosed;
2433- Wnck.Screen.Default.WindowOpened -= HandleWindowOpened;
2434- }
2435-
2436- // Dock Services
2437- DockPreferences.AutomaticIconsChanged -= HandleAutomaticIconsChanged;
2438- DockServices.DockletService.AppletVisibilityChanged -= HandleAppletVisibilityChanged;
2439-
2440- UnregisterDocklets ();
2441- }
2442-
2443- void UnregisterDocklets ()
2444- {
2445- UnregisterDockItem (MenuItem);
2446-
2447- foreach (AbstractDockItem item in DockServices.DockletService.Docklets) {
2448- UnregisterDockItem (item);
2449- }
2450- }
2451-
2452- void ResetDockelts ()
2453- {
2454- UnregisterDocklets ();
2455- RegisterDocklets ();
2456- }
2457-
2458- void RegisterDockItem (AbstractDockItem dockItem)
2459- {
2460- dockItem.UpdateNeeded += HandleUpdateNeeded;
2461- if (dockItem is IRightClickable)
2462- (dockItem as IRightClickable).RemoveClicked += HandleRemoveClicked;
2463- }
2464-
2465- void UnregisterDockItem (AbstractDockItem dockItem)
2466- {
2467- dockItem.UpdateNeeded -= HandleUpdateNeeded;
2468- if (dockItem is IRightClickable)
2469- (dockItem as IRightClickable).RemoveClicked -= HandleRemoveClicked;
2470- }
2471-
2472- void HandleAppletVisibilityChanged (object sender, EventArgs e)
2473- {
2474- ResetDockelts ();
2475- OnDockItemsChanged ();
2476- }
2477-
2478- void HandleAutomaticIconsChanged ()
2479- {
2480- UpdateItems ();
2481- }
2482-
2483- void HandleRemoveClicked (object sender, EventArgs e)
2484- {
2485- if (sender is AbstractDockItem)
2486- RemoveItem (sender as AbstractDockItem);
2487- }
2488-
2489- void HandleWindowOpened (object o, WindowOpenedArgs args)
2490- {
2491- // we do a delayed update so that we allow a small gap for wnck to catch up
2492- if (!args.Window.IsSkipTasklist || args.Window.Pid != System.Diagnostics.Process.GetCurrentProcess ().Id)
2493- DelayUpdateItems ();
2494- }
2495-
2496- void HandleWindowClosed (object o, WindowClosedArgs args)
2497- {
2498- if (!args.Window.IsSkipTasklist || args.Window.Pid != System.Diagnostics.Process.GetCurrentProcess ().Id)
2499- DelayUpdateItems ();
2500- }
2501-
2502- void HandleUniverseInitialized (object sender, EventArgs e)
2503- {
2504- UpdatesEnabled = true;
2505- UpdateItems ();
2506- }
2507-
2508- void HandleUpdateNeeded (object sender, UpdateRequestArgs args)
2509- {
2510- if (!DockItems.Contains (args.Item))
2511- return;
2512- if (ItemNeedsUpdate != null)
2513- ItemNeedsUpdate (this, args);
2514- }
2515-
2516- #endregion
2517-
2518- #region Item Updating
2519- AbstractDockItem MaybeCreateCustomItem (ref string identifier)
2520- {
2521- ItemDockItem customItem = null;
2522-
2523- if (identifier.StartsWith ("file://"))
2524- identifier = identifier.Substring ("file://".Length);
2525-
2526- if (File.Exists (identifier) || Directory.Exists (identifier)) {
2527- if (identifier.EndsWith (".desktop")) {
2528- bool writeable = true;
2529- try {
2530- using (FileStream stream = File.OpenWrite (identifier)) {
2531- ;
2532- }
2533- } catch {
2534- writeable = false;
2535- }
2536- if (writeable && Path.GetDirectoryName (identifier) != DesktopFilesDirectory) {
2537- string newFile = Path.Combine (DesktopFilesDirectory, Path.GetFileName (identifier));
2538- try {
2539- Log<ItemsService>.Error ("Could not add custom item with id: {0}, File already exists", identifier);
2540- File.Copy (identifier, newFile);
2541- } catch {
2542-
2543- return null;
2544- }
2545- identifier = newFile;
2546- }
2547- Item o = Services.UniverseFactory.NewApplicationItem (identifier) as Item;
2548- customItem = new ItemDockItem (o);
2549- } else {
2550- Item o = Services.UniverseFactory.NewFileItem (identifier) as Item;
2551- customItem = new ItemDockItem (o);
2552- }
2553- } else {
2554- Item e = Services.Core.GetItem (identifier);
2555- if (e != null)
2556- customItem = new ItemDockItem (e);
2557- else
2558- Log<ItemsService>.Error ("Could not add custom item with id: {0}", identifier);
2559- }
2560- return customItem;
2561- }
2562-
2563- void SimplifyPositions (IEnumerable<AbstractDockItem> items)
2564- {
2565- int i = 0;
2566- // we call ToArray so our enumerator does get screwed up when we change the Position
2567- foreach (AbstractDockItem item in items.OrderBy (di => di.Position).ToArray ())
2568- item.Position = i++;
2569- }
2570-
2571- void DelayUpdateItems ()
2572- {
2573- GLib.Timeout.Add (UpdateDelay, delegate {
2574- UpdateItems ();
2575- return false;
2576- });
2577- }
2578-
2579- void UpdateItems ()
2580- {
2581- if (!UpdatesEnabled)
2582- return;
2583-
2584- if (!CustomItemsRead) {
2585- foreach (string s in ReadCustomItems ())
2586- InternalAddItemToDock (s, LastPosition + 1);
2587-
2588- UpdateStatItems ();
2589-
2590- Dictionary<string, int> sortDictionary = ReadSortDictionary ();
2591- foreach (ItemDockItem item in OrderedItems.Where (di => di is ItemDockItem)) {
2592- if (item.Item == null)
2593- continue;
2594-
2595- if (sortDictionary.ContainsKey (item.Item.UniqueId))
2596- item.Position = sortDictionary [item.Item.UniqueId];
2597- }
2598- foreach (AbstractDockItem item in Docklets) {
2599- if (sortDictionary.ContainsKey (item.GetType ().FullName))
2600- item.Position = sortDictionary [item.GetType ().FullName];
2601- }
2602-
2603- CustomItemsRead = true;
2604- } else {
2605- UpdateStatItems ();
2606- }
2607-
2608- UpdateTaskItems ();
2609- SimplifyPositions (OrderedItems);
2610- SimplifyPositions (Docklets);
2611-
2612- OnDockItemsChanged ();
2613- }
2614-
2615- void UpdateStatItems ()
2616- {
2617- List<ItemDockItem> old_items = new List<ItemDockItem> (stat_items.Where (di => di is ItemDockItem)
2618- .Cast<ItemDockItem> ());
2619- List<ItemDockItem> local_cust = new List<ItemDockItem> (custom_items.Values
2620- .Where (di => di is ItemDockItem)
2621- .Cast<ItemDockItem> ());
2622-
2623- stat_items = new List<AbstractDockItem> ();
2624-
2625- IEnumerable<Item> mostUsedItems = MostUsedItems ();
2626-
2627- DateTime currentTime = DateTime.UtcNow;
2628- foreach (Item item in mostUsedItems.Where (i => !local_cust.Any (ci => ci.Item != null && ci.Item.UniqueId == i.UniqueId))) {
2629-
2630- if (old_items.Any (di => di.Item == item)) {
2631- stat_items.AddRange (old_items
2632- .Where (di => di.Item != null && di.Item.UniqueId == item.UniqueId)
2633- .Cast<AbstractDockItem> ());
2634- } else {
2635- ItemDockItem di = new ItemDockItem (item);
2636- RegisterDockItem (di);
2637- di.DockAddItem = currentTime;
2638-
2639- int position = LastPosition + 1;
2640-
2641- // TODO fixme once mono 1.9 support is dropped
2642- if (old_items.Any ())
2643- position += old_items.Max ((Func<ItemDockItem, int>) (oi => oi.Position));
2644-
2645- di.Position = position;
2646- stat_items.Add (di);
2647- }
2648- }
2649-
2650- // potential leak if not all items in stat_items were ItemDockItems!!!
2651- foreach (ItemDockItem item in old_items.Where (di => !stat_items.Contains (di))) {
2652- UnregisterDockItem (item);
2653- item.Dispose ();
2654- }
2655- }
2656-
2657- void UpdateTaskItems ()
2658- {
2659- foreach (ItemDockItem item in OrderedItems.Where (di => di is ItemDockItem))
2660- item.UpdateApplication ();
2661-
2662- List<ApplicationDockItem> out_items = new List<ApplicationDockItem> ();
2663-
2664- IEnumerable<Window> knownWindows = OrderedItems
2665- .Where (di => di is ItemDockItem)
2666- .Cast<ItemDockItem> ()
2667- .SelectMany (di => di.Windows);
2668-
2669- var prunedWindows = WindowUtils.GetWindows ()
2670- .Where (w => !w.IsSkipTasklist && !knownWindows.Contains (w))
2671- .GroupBy (w => SafeResClass (w));
2672-
2673- IEnumerable<ApplicationDockItem> apps = WindowUtils.GetWindows ()
2674- .Where (w => !w.IsSkipTasklist && !knownWindows.Contains (w))
2675- .GroupBy (w => SafeResClass (w))
2676- .Select (ws => CreateApplicationDockItem (ws, task_items));
2677-
2678- apps.ForEach (a => RegisterDockItem (a));
2679- out_items.AddRange (apps);
2680-
2681- foreach (AbstractDockItem item in task_items) {
2682- UnregisterDockItem (item);
2683- item.Dispose ();
2684- }
2685-
2686- foreach (ApplicationDockItem adi in out_items.OrderBy (di => di.DockAddItem)) {
2687- if (adi.Position == 0) // raw and unpositioned items
2688- adi.Position = LastPosition + 1;
2689- }
2690-
2691- task_items.Clear ();
2692- task_items.AddRange (out_items.Cast<AbstractDockItem> ());
2693- }
2694-
2695- ApplicationDockItem CreateApplicationDockItem (IEnumerable<Wnck.Window> windows, IEnumerable<AbstractDockItem> lastSet)
2696- {
2697- ApplicationDockItem adi = new ApplicationDockItem (windows);
2698-
2699- if (lastSet.Any (di => di.Equals (adi))) {
2700- AbstractDockItem match = lastSet.Where (di => di.Equals (adi)).First ();
2701- adi.DockAddItem = match.DockAddItem;
2702- adi.Position = match.Position;
2703- } else {
2704- adi.DockAddItem = DateTime.UtcNow;
2705- }
2706-
2707- return adi;
2708- }
2709-
2710- string SafeResClass (Wnck.Window window)
2711- {
2712- if (window.ClassGroup != null && window.ClassGroup.ResClass != null)
2713- return window.ClassGroup.ResClass;
2714- return string.Empty;
2715- }
2716-
2717- void OnDockItemsChanged ()
2718- {
2719- output_items.Clear ();
2720-
2721- if (DockItemsChanged != null)
2722- DockItemsChanged (DockItems);
2723- }
2724- #endregion
2725-
2726- #region Item Management
2727- bool InternalAddItemToDock (Item item, int position)
2728- {
2729- if (!(item is Item)) {
2730- Log<ItemsService>.Error ("Could not add {0} to custom items for dock", item.Safe.Name);
2731- return false;
2732- }
2733-
2734- string id = item.UniqueId;
2735- if (custom_items.ContainsKey (id))
2736- return false;
2737-
2738- AbstractDockItem dockItem = new ItemDockItem (item as Item);
2739- RegisterDockItem (dockItem);
2740-
2741- MakeHoleAtPosition (position);
2742-
2743- dockItem.Position = position;
2744- custom_items [id] = dockItem;
2745-
2746- return true;
2747- }
2748-
2749- bool InternalAddItemToDock (string identifier, int position)
2750- {
2751- if (custom_items.ContainsKey (identifier)) return false;
2752-
2753- AbstractDockItem customItem = MaybeCreateCustomItem (ref identifier);
2754-
2755- if (customItem == null) return false;
2756-
2757- RegisterDockItem (customItem);
2758-
2759- MakeHoleAtPosition (position);
2760-
2761- customItem.Position = position;
2762- custom_items [identifier] = customItem;
2763-
2764- return true;
2765- }
2766- #endregion
2767-
2768- #region Disk Utilities
2769- void WriteData ()
2770- {
2771- WriteSortDictionary ();
2772- WriteCustomItems ();
2773- }
2774-
2775- void WriteSortDictionary ()
2776- {
2777- try {
2778- if (File.Exists (SortDictionaryPath))
2779- File.Delete (SortDictionaryPath);
2780-
2781- using (StreamWriter writer = new StreamWriter (SortDictionaryPath)) {
2782- foreach (ItemDockItem di in OrderedItems.Where (di => di is ItemDockItem)) {
2783- if (di.Item == null)
2784- continue;
2785-
2786- writer.WriteLine ("{0}|{1}", di.Item.UniqueId, di.Position);
2787- }
2788- foreach (AbstractDockItem di in Docklets) {
2789- writer.WriteLine ("{0}|{1}", di.GetType ().FullName, di.Position);
2790- }
2791- }
2792- } catch (Exception e) {
2793- Log<ItemsService>.Error ("Could not write out sort items");
2794- Log<ItemsService>.Error (e.Message);
2795- }
2796- }
2797-
2798- Dictionary<string, int> ReadSortDictionary ()
2799- {
2800- Dictionary<string, int> sortDictionary = new Dictionary<string, int> ();
2801- try {
2802- using (StreamReader reader = new StreamReader (SortDictionaryPath)) {
2803- string [] line;
2804- while (!reader.EndOfStream) {
2805- line = reader.ReadLine ().Split ('|');
2806- sortDictionary [line [0]] = Convert.ToInt32 (line [1]);
2807- }
2808- }
2809- } catch (FileNotFoundException e) {
2810- Log<ItemsService>.Debug ("Sort Dictionary file not present, nothing to add. " + e.Message);
2811- } catch (Exception e) {
2812- Log<ItemsService>.Error ("Could not deserialize sort dictionary");
2813- }
2814- return sortDictionary;
2815- }
2816-
2817- void WriteCustomItems ()
2818- {
2819- try {
2820- using (Stream s = File.OpenWrite (CustomItemsPath)) {
2821- BinaryFormatter f = new BinaryFormatter ();
2822- f.Serialize (s, custom_items.Keys.ToArray ());
2823- }
2824- } catch (Exception e) {
2825- Log<ItemsService>.Error ("Could not serialize custom items");
2826- Log<ItemsService>.Error (e.Message);
2827- }
2828- }
2829-
2830- IEnumerable<string> ReadCustomItems ()
2831- {
2832- string[] filenames;
2833- try {
2834- using (Stream s = File.OpenRead (CustomItemsPath)) {
2835- BinaryFormatter f = new BinaryFormatter ();
2836- filenames = f.Deserialize (s) as string[];
2837- }
2838- } catch (FileNotFoundException e) {
2839- Log<ItemsService>.Debug ("Custom items file not present, nothing to add. " + e.Message);
2840- filenames = new string[0];
2841- } catch {
2842- Log<ItemsService>.Error ("Could not deserialize custom items");
2843- filenames = new string[0];
2844- }
2845- return filenames;
2846- }
2847- #endregion
2848-
2849- #region Random Useful Functions
2850- bool ItemCanInteractWithPosition (AbstractDockItem item, int position)
2851- {
2852- return (DockItems.Contains (item) || Docklets.Contains (item)) && position >= 0 && position < DockItems.Count;
2853- }
2854-
2855- /// <summary>
2856- /// Returns the most used items out of GNOME Do and does a tiny bit of filtering and sorting on them
2857- /// This is mostly to encourage a better first run experience, but overall this can be improved
2858- /// </summary>
2859- /// <returns>
2860- /// A <see cref="IEnumerable"/> of the most used items from Do's core universe
2861- /// </returns>
2862- IEnumerable<Item> MostUsedItems ()
2863- {
2864- return Services.Core
2865- .GetItemsOrderedByRelevance ()
2866- .Where (item => item.GetType ().Name != "SelectedTextItem" &&
2867- item.GetType ().Name != "GNOMETrashFileItem")
2868- .Where (item => !DockPreferences.ItemBlacklist.Contains (item.UniqueId))
2869- .Take (DockPreferences.AutomaticIcons)
2870- .OrderByDescending (item => item is IApplicationItem)
2871- .ThenBy (item => item.GetType ().Name)
2872- .ThenBy (item => item.Safe.Name);
2873- }
2874-
2875- void MakeHoleAtPosition (int position)
2876- {
2877- foreach (AbstractDockItem di in OrderedItems) {
2878- if (di.Position >= position)
2879- di.Position++;
2880- }
2881- }
2882- #endregion
2883-
2884- #region IItemsService implementation
2885- public event DockItemsChangedHandler DockItemsChanged;
2886- public event UpdateRequestHandler ItemNeedsUpdate;
2887-
2888- public bool UpdatesEnabled { get; private set; }
2889-
2890- public ReadOnlyCollection<AbstractDockItem> DockItems {
2891- get {
2892- if (output_items.Count == 0) {
2893- output_items.Add (MenuItem);
2894-
2895- // Add our custom/task/statistical items in one shot
2896- output_items.AddRange (OrderedItems);
2897-
2898- // add a separator and any docklets that are active
2899- if (DockServices.DockletService.ActiveDocklets.Any ()) {
2900- output_items.Add (Separator);
2901- output_items.AddRange (Docklets.OrderBy (docklet => docklet.Position));
2902- }
2903- }
2904- return readonly_output_items;
2905- }
2906- }
2907-
2908- public void AddItemToDock (Item item)
2909- {
2910- AddItemToDock (item, LastPosition + 1);
2911- }
2912-
2913- public void AddItemToDock (string identifier)
2914- {
2915- AddItemToDock (identifier, LastPosition + 1);
2916- }
2917-
2918- public void AddItemToDock (Item item, int position)
2919- {
2920- position = DockItems [position].Position;
2921- if (InternalAddItemToDock (item, position)) {
2922- UpdateItems ();
2923- WriteData ();
2924- OnDockItemsChanged ();
2925- }
2926- }
2927-
2928- public void AddItemToDock (string identifier, int position)
2929- {
2930- position = DockItems [position].Position;
2931- if (InternalAddItemToDock (identifier, position)) {
2932- UpdateItems ();
2933- WriteData ();
2934- OnDockItemsChanged ();
2935- }
2936- }
2937-
2938- public bool ItemCanBeMoved (int item)
2939- {
2940- if (item < 0 || item > DockItems.Count)
2941- return false;
2942-
2943- return (OrderedItems.Contains (DockItems [item]) || Docklets.Contains (DockItems [item]));
2944- }
2945-
2946- public bool ItemCanBeRemoved (int item)
2947- {
2948- if (item < 0 || item >= DockItems.Count) return false;
2949- AbstractDockItem adi = DockItems [item];
2950- return Docklets.Contains (DockItems [item]) ||
2951- (adi.WindowCount == 0 && ((GetIconSource (adi) == IconSource.Statistics && adi is ItemDockItem) ||
2952- (GetIconSource (adi) == IconSource.Custom)));
2953- }
2954-
2955- public void DropItemOnPosition (AbstractDockItem item, int position)
2956- {
2957- do {
2958- if (!ItemCanInteractWithPosition (item, position)) continue;
2959-
2960- if (DockItems [position] is TrashDockItem && !(item is TrashDockItem)) {
2961- RemoveItem (item);
2962- continue;
2963- }
2964-
2965- if (item is ApplicationDockItem) {
2966- ApplicationDockItem adi = item as ApplicationDockItem;
2967-
2968- if (adi.Launcher == null) continue;
2969-
2970- Item launcher = adi.Launcher as Item;
2971- if (launcher == null)
2972- continue;
2973-
2974- AbstractDockItem newItem = new ItemDockItem (launcher);
2975-
2976- newItem.Position = item.Position;
2977- newItem.DockAddItem = item.DockAddItem;
2978- custom_items [launcher.UniqueId] = newItem;
2979-
2980- RegisterDockItem (newItem);
2981- UpdateItems ();
2982- WriteData ();
2983- }
2984- } while (false);
2985- }
2986-
2987- public void MoveItemToPosition (AbstractDockItem item, int position)
2988- {
2989- if (ItemCanInteractWithPosition (item, position))
2990- MoveItemToPosition (DockItems.IndexOf (item), position);
2991- }
2992-
2993- public void MoveItemToPosition (int item, int position)
2994- {
2995- if (item == position ||
2996- item < 0 ||
2997- position < 0 ||
2998- position > DockItems.Count ||
2999- item > DockItems.Count)
3000- return;
3001-
3002- IconSource itemSource = GetIconSource (DockItems [item]);
3003- IconSource targetSource = GetIconSource (DockItems [position]);
3004-
3005- if (itemSource == IconSource.Unknown ||
3006- targetSource == IconSource.Unknown ||
3007- (itemSource == IconSource.Docklet && targetSource != IconSource.Docklet) ||
3008- (itemSource != IconSource.Docklet && targetSource == IconSource.Docklet))
3009- return;
3010-
3011- AbstractDockItem primaryItem = DockItems [item];
3012- AbstractDockItem targetItem = DockItems [position];
3013-
3014- int startPosition = primaryItem.Position;
3015- int targetPosition = targetItem.Position;
3016-
3017- IEnumerable<AbstractDockItem> itemSet;
3018- if (itemSource == IconSource.Docklet)
3019- itemSet = Docklets;
3020- else
3021- itemSet = OrderedItems;
3022-
3023- foreach (AbstractDockItem di in itemSet) {
3024- if (startPosition < targetPosition) {
3025- // the item is being shifted to the right. Everything greater than item up to and including target item
3026- // needs to be shifted to the left
3027- if (di.Position > startPosition && di.Position <= targetPosition)
3028- di.Position--;
3029- } else {
3030- // the item is being shifted to the left. Everthing less than the item and up to and including target item
3031- // needs to be shifted to the right
3032- if (di.Position < startPosition && di.Position >= targetPosition)
3033- di.Position++;
3034- }
3035- }
3036-
3037- primaryItem.Position = targetPosition;
3038-
3039- OnDockItemsChanged ();
3040- WriteData ();
3041- }
3042-
3043- public void ForceUpdate ()
3044- {
3045- UpdateItems ();
3046- }
3047-
3048- public IconSource GetIconSource (AbstractDockItem item)
3049- {
3050- if (task_items.Contains (item))
3051- return IconSource.Application;
3052-
3053- if (stat_items.Contains (item))
3054- return IconSource.Statistics;
3055-
3056- if (custom_items.Values.Contains (item))
3057- return IconSource.Custom;
3058-
3059- if (Docklets.Contains (item))
3060- return IconSource.Docklet;
3061-
3062- return IconSource.Unknown;
3063- }
3064-
3065- public bool RemoveItem (AbstractDockItem item)
3066- {
3067- if (!DockItems.Contains (item))
3068- return false;
3069- return RemoveItem (DockItems.IndexOf (item));
3070- }
3071-
3072- public bool RemoveItem (int item)
3073- {
3074- bool result = ItemCanBeRemoved (item);
3075-
3076- if (result) {
3077- if (Docklets.Contains (DockItems [item])) {
3078- DockServices.DockletService.ToggleDocklet (DockItems [item] as AbstractDockletItem);
3079- } else if (GetIconSource (DockItems [item]) == IconSource.Statistics) {
3080- ItemDockItem di = (DockItems [item] as ItemDockItem);
3081- DockPreferences.AddBlacklistItem ((DockItems [item] as ItemDockItem).Item.UniqueId);
3082- DockPreferences.AutomaticIcons = Math.Max (0, DockPreferences.AutomaticIcons - 1);
3083- } else if (GetIconSource (DockItems [item]) == IconSource.Custom) {
3084- KeyValuePair<string, AbstractDockItem> kvp = custom_items
3085- .Where (k => k.Value.Equals (DockItems [item]))
3086- .First ();
3087-
3088- custom_items.Remove (kvp.Key);
3089-
3090- if (kvp.Key.EndsWith (".desktop") && Path.GetDirectoryName (kvp.Key) == DesktopFilesDirectory) {
3091- try {
3092- File.Delete (kvp.Key);
3093- } catch {
3094- // Don't really care, it was only a nice thing to do...
3095- }
3096- }
3097- }
3098-
3099- UpdateItems ();
3100- WriteData ();
3101- }
3102-
3103- return result;
3104- }
3105-
3106- public bool HotSeatItem (AbstractDockItem item, List<AbstractDockItem> seatedItems)
3107- {
3108- Log<ItemsService>.Error ("Items Service cannot currently handle hotseating");
3109- return false;
3110- }
3111-
3112- public bool ResetHotSeat (AbstractDockItem item)
3113- {
3114- Log<ItemsService>.Error ("Items Service cannot currently handle hotseating");
3115- return false;
3116- }
3117- #endregion
3118-
3119- #region IDisposable implementation
3120- public void Dispose ()
3121- {
3122- UnregisterEvents ();
3123-
3124- foreach (AbstractDockItem di in DockItems) {
3125- if (di.Disposed)
3126- continue;
3127-
3128- UnregisterDockItem (di);
3129- di.Dispose ();
3130- }
3131-
3132- if (!Separator.Disposed)
3133- Separator.Dispose ();
3134-
3135- custom_items.Clear ();
3136- stat_items.Clear ();
3137- output_items.Clear ();
3138- task_items.Clear ();
3139- }
3140- #endregion
3141-
3142-
3143- }
3144-}
3145
3146=== removed file 'Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/PainterService.cs'
3147--- Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/PainterService.cs 2009-03-05 05:00:17 +0000
3148+++ Do.Interface.Linux.Docky/src/Docky.Core/Docky.Core.Default/PainterService.cs 1970-01-01 00:00:00 +0000
3149@@ -1,90 +0,0 @@
3150-// PainterService.cs
3151-//
3152-// Copyright (C) 2009 GNOME Do
3153-//
3154-// This program is free software: you can redistribute it and/or modify
3155-// it under the terms of the GNU General Public License as published by
3156-// the Free Software Foundation, either version 3 of the License, or
3157-// (at your option) any later version.
3158-//
3159-// This program is distributed in the hope that it will be useful,
3160-// but WITHOUT ANY WARRANTY; without even the implied warranty of
3161-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3162-// GNU General Public License for more details.
3163-//
3164-// You should have received a copy of the GNU General Public License
3165-// along with this program. If not, see <http://www.gnu.org/licenses/>.
3166-//
3167-
3168-using System;
3169-using System.Collections.Generic;
3170-
3171-using Do.Platform;
3172-
3173-using Docky.Core;
3174-using Docky.Interface;
3175-
3176-namespace Docky.Core.Default
3177-{
3178-
3179-
3180- public class PainterService : IPainterService
3181- {
3182-
3183-
3184- ICollection<IDockPainter> painters;
3185-
3186- #region IPainterService implementation
3187-
3188- public event EventHandler PainterHideRequest;
3189- public event EventHandler PainterShowRequest;
3190-
3191- public void RegisterPainter (IDockPainter painter)
3192- {
3193- painters.Add (painter);
3194- painter.ShowRequested += HandleShowRequested;
3195- painter.HideRequested += HandleHideRequested;
3196- }
3197-
3198- void HandleHideRequested(object sender, EventArgs e)
3199- {
3200- IDockPainter painter = sender as IDockPainter;
3201- if (painter == null || PainterHideRequest == null)
3202- return;
3203-
3204- PainterHideRequest (sender, e);
3205- }
3206-
3207- void HandleShowRequested(object sender, EventArgs e)
3208- {
3209- IDockPainter painter = sender as IDockPainter;
3210- if (painter == null || PainterShowRequest == null)
3211- return;
3212-
3213- PainterShowRequest (sender, e);
3214- }
3215-
3216- #endregion
3217-
3218- public PainterService ()
3219- {
3220- painters = new List<IDockPainter> ();
3221- }
3222-
3223- #region IDisposable implementation
3224-
3225- public void Dispose ()
3226- {
3227- DockServices.UnregisterService (this);
3228-
3229- foreach (IDockPainter painter in painters) {
3230- painter.ShowRequested -= HandleShowRequested;
3231- painter.HideRequested -= HandleHideRequested;
3232- painter.Dispose ();
3233- }
3234- painters.Clear ();
3235- }
3236-
3237- #endregion
3238- }
3239-}
3240
3241=== removed file 'Do.Interface.Linux.Docky/src/Docky.Core/IDoInteropService.cs'
3242--- Do.Interface.Linux.Docky/src/Docky.Core/IDoInteropService.cs 2009-02-03 09:37:39 +0000
3243+++ Do.Interface.Linux.Docky/src/Docky.Core/IDoInteropService.cs 1970-01-01 00:00:00 +0000
3244@@ -1,39 +0,0 @@
3245-// IDoInteropService.cs
3246-//
3247-// Copyright (C) 2009 GNOME Do
3248-//
3249-// This program is free software: you can redistribute it and/or modify
3250-// it under the terms of the GNU General Public License as published by
3251-// the Free Software Foundation, either version 3 of the License, or
3252-// (at your option) any later version.
3253-//
3254-// This program is distributed in the hope that it will be useful,
3255-// but WITHOUT ANY WARRANTY; without even the implied warranty of
3256-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3257-// GNU General Public License for more details.
3258-//
3259-// You should have received a copy of the GNU General Public License
3260-// along with this program. If not, see <http://www.gnu.org/licenses/>.
3261-//
3262-
3263-using System;
3264-
3265-namespace Docky.Core
3266-{
3267-
3268-
3269- public interface IDoInteropService : IDockService
3270- {
3271- event EventHandler Summoned;
3272-
3273- event EventHandler Vanished;
3274-
3275- event EventHandler Reset;
3276-
3277- event EventHandler ResultsGrow;
3278-
3279- event EventHandler ResultsShrink;
3280-
3281- void RequestClickOff ();
3282- }
3283-}
3284
3285=== removed file 'Do.Interface.Linux.Docky/src/Docky.Core/IDockService.cs'
3286--- Do.Interface.Linux.Docky/src/Docky.Core/IDockService.cs 2009-01-27 04:11:54 +0000
3287+++ Do.Interface.Linux.Docky/src/Docky.Core/IDockService.cs 1970-01-01 00:00:00 +0000
3288@@ -1,26 +0,0 @@
3289-// IDockService.cs
3290-//
3291-// Copyright (C) 2009 GNOME Do
3292-//
3293-// This program is free software: you can redistribute it and/or modify
3294-// it under the terms of the GNU General Public License as published by
3295-// the Free Software Foundation, either version 3 of the License, or
3296-// (at your option) any later version.
3297-//
3298-// This program is distributed in the hope that it will be useful,
3299-// but WITHOUT ANY WARRANTY; without even the implied warranty of
3300-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3301-// GNU General Public License for more details.
3302-//
3303-// You should have received a copy of the GNU General Public License
3304-// along with this program. If not, see <http://www.gnu.org/licenses/>.
3305-//
3306-
3307-using System;
3308-
3309-namespace Docky.Core
3310-{
3311- public interface IDockService : IDisposable
3312- {
3313- }
3314-}
3315
3316=== removed file 'Do.Interface.Linux.Docky/src/Docky.Core/IDockletService.cs'
3317--- Do.Interface.Linux.Docky/src/Docky.Core/IDockletService.cs 2009-05-19 18:51:02 +0000
3318+++ Do.Interface.Linux.Docky/src/Docky.Core/IDockletService.cs 1970-01-01 00:00:00 +0000
3319@@ -1,37 +0,0 @@
3320-//
3321-// Copyright (C) 2009 GNOME Do
3322-//
3323-// This program is free software: you can redistribute it and/or modify
3324-// it under the terms of the GNU General Public License as published by
3325-// the Free Software Foundation, either version 3 of the License, or
3326-// (at your option) any later version.
3327-//
3328-// This program is distributed in the hope that it will be useful,
3329-// but WITHOUT ANY WARRANTY; without even the implied warranty of
3330-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3331-// GNU General Public License for more details.
3332-//
3333-// You should have received a copy of the GNU General Public License
3334-// along with this program. If not, see <http://www.gnu.org/licenses/>.
3335-//
3336-
3337-using System;
3338-using System.Collections.Generic;
3339-
3340-using Docky.Interface;
3341-
3342-namespace Docky.Core
3343-{
3344-
3345-
3346- public interface IDockletService : IDockService
3347- {
3348- event EventHandler AppletVisibilityChanged;
3349-
3350- IEnumerable<AbstractDockletItem> Docklets { get; }
3351-
3352- IEnumerable<AbstractDockletItem> ActiveDocklets { get; }
3353-
3354- bool ToggleDocklet (AbstractDockletItem docklet);
3355- }
3356-}
3357
3358=== removed file 'Do.Interface.Linux.Docky/src/Docky.Core/IDrawingService.cs'
3359--- Do.Interface.Linux.Docky/src/Docky.Core/IDrawingService.cs 2009-06-06 01:45:55 +0000
3360+++ Do.Interface.Linux.Docky/src/Docky.Core/IDrawingService.cs 1970-01-01 00:00:00 +0000
3361@@ -1,33 +0,0 @@
3362-// IDrawingSurface.cs
3363-//
3364-// Copyright (C) 2009 GNOME Do
3365-//
3366-// This program is free software: you can redistribute it and/or modify
3367-// it under the terms of the GNU General Public License as published by
3368-// the Free Software Foundation, either version 3 of the License, or
3369-// (at your option) any later version.
3370-//
3371-// This program is distributed in the hope that it will be useful,
3372-// but WITHOUT ANY WARRANTY; without even the implied warranty of
3373-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3374-// GNU General Public License for more details.
3375-//
3376-// You should have received a copy of the GNU General Public License
3377-// along with this program. If not, see <http://www.gnu.org/licenses/>.
3378-//
3379-
3380-using System;
3381-
3382-using Docky.Interface;
3383-
3384-namespace Docky.Core
3385-{
3386- public interface IDrawingService : IDockService
3387- {
3388- int CurrentDockWidth { get; }
3389-
3390- int CurrentDockHeight { get; }
3391-
3392- Gdk.Rectangle TextPathAtPoint (TextRenderContext context);
3393- }
3394-}
3395
3396=== removed file 'Do.Interface.Linux.Docky/src/Docky.Core/IItemsService.cs'
3397--- Do.Interface.Linux.Docky/src/Docky.Core/IItemsService.cs 2009-06-14 02:03:35 +0000
3398+++ Do.Interface.Linux.Docky/src/Docky.Core/IItemsService.cs 1970-01-01 00:00:00 +0000
3399@@ -1,84 +0,0 @@
3400-// IItemsService.cs
3401-//
3402-// Copyright (C) 2009 GNOME Do
3403-//
3404-// This program is free software: you can redistribute it and/or modify
3405-// it under the terms of the GNU General Public License as published by
3406-// the Free Software Foundation, either version 3 of the License, or
3407-// (at your option) any later version.
3408-//
3409-// This program is distributed in the hope that it will be useful,
3410-// but WITHOUT ANY WARRANTY; without even the implied warranty of
3411-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3412-// GNU General Public License for more details.
3413-//
3414-// You should have received a copy of the GNU General Public License
3415-// along with this program. If not, see <http://www.gnu.org/licenses/>.
3416-//
3417-
3418-using System;
3419-using System.Collections.Generic;
3420-using System.Collections.ObjectModel;
3421-
3422-using Do;
3423-using Do.Interface;
3424-using Do.Universe;
3425-using Do.Platform;
3426-
3427-using Docky.Interface;
3428-using Docky.Utilities;
3429-
3430-namespace Docky.Core
3431-{
3432-
3433-
3434- public interface IItemsService : IDockService
3435- {
3436- event DockItemsChangedHandler DockItemsChanged;
3437-
3438- event UpdateRequestHandler ItemNeedsUpdate;
3439-
3440- /// <summary>
3441- /// Enable and disable updates to the items in the list.
3442- /// Useful when universe is still being set up.
3443- /// </summary>
3444- bool UpdatesEnabled { get; }
3445-
3446- /// <summary>
3447- /// gets a read only collection of the dock items
3448- /// </summary>
3449- ReadOnlyCollection<AbstractDockItem> DockItems { get; }
3450-
3451- #region AddItem Overloads
3452- void AddItemToDock (Item item);
3453-
3454- void AddItemToDock (string identifier);
3455-
3456- void AddItemToDock (Item item, int position);
3457-
3458- void AddItemToDock (string identifier, int position);
3459- #endregion
3460-
3461- bool ItemCanBeMoved (int item);
3462-
3463- bool ItemCanBeRemoved (int item);
3464-
3465- void DropItemOnPosition (AbstractDockItem item, int position);
3466-
3467- void MoveItemToPosition (AbstractDockItem item, int position);
3468-
3469- void MoveItemToPosition (int item, int position);
3470-
3471- void ForceUpdate ();
3472-
3473- IconSource GetIconSource (AbstractDockItem item);
3474-
3475- bool RemoveItem (AbstractDockItem item);
3476-
3477- bool RemoveItem (int item);
3478-
3479- bool HotSeatItem (AbstractDockItem item, List<AbstractDockItem> seatedItems);
3480-
3481- bool ResetHotSeat (AbstractDockItem item);
3482- }
3483-}
3484
3485=== removed file 'Do.Interface.Linux.Docky/src/Docky.Core/IPainterService.cs'
3486--- Do.Interface.Linux.Docky/src/Docky.Core/IPainterService.cs 2009-03-05 05:00:17 +0000
3487+++ Do.Interface.Linux.Docky/src/Docky.Core/IPainterService.cs 1970-01-01 00:00:00 +0000
3488@@ -1,34 +0,0 @@
3489-// IPainterService.cs
3490-//
3491-// Copyright (C) 2009 GNOME Do
3492-//
3493-// This program is free software: you can redistribute it and/or modify
3494-// it under the terms of the GNU General Public License as published by
3495-// the Free Software Foundation, either version 3 of the License, or
3496-// (at your option) any later version.
3497-//
3498-// This program is distributed in the hope that it will be useful,
3499-// but WITHOUT ANY WARRANTY; without even the implied warranty of
3500-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3501-// GNU General Public License for more details.
3502-//
3503-// You should have received a copy of the GNU General Public License
3504-// along with this program. If not, see <http://www.gnu.org/licenses/>.
3505-//
3506-
3507-using System;
3508-
3509-using Docky.Interface;
3510-
3511-namespace Docky.Core
3512-{
3513-
3514- public interface IPainterService : IDockService
3515- {
3516- event EventHandler PainterHideRequest;
3517-
3518- event EventHandler PainterShowRequest;
3519-
3520- void RegisterPainter (IDockPainter painter);
3521- }
3522-}
3523
3524=== removed directory 'Do.Interface.Linux.Docky/src/Docky.Interface'
3525=== removed file 'Do.Interface.Linux.Docky/src/Docky.Interface/AutohideTracker.cs'
3526--- Do.Interface.Linux.Docky/src/Docky.Interface/AutohideTracker.cs 2009-09-08 23:01:09 +0000
3527+++ Do.Interface.Linux.Docky/src/Docky.Interface/AutohideTracker.cs 1970-01-01 00:00:00 +0000
3528@@ -1,177 +0,0 @@
3529-//
3530-// Copyright (C) 2009 GNOME Do
3531-//
3532-// This program is free software: you can redistribute it and/or modify
3533-// it under the terms of the GNU General Public License as published by
3534-// the Free Software Foundation, either version 3 of the License, or
3535-// (at your option) any later version.
3536-//
3537-// This program is distributed in the hope that it will be useful,
3538-// but WITHOUT ANY WARRANTY; without even the implied warranty of
3539-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3540-// GNU General Public License for more details.
3541-//
3542-// You should have received a copy of the GNU General Public License
3543-// along with this program. If not, see <http://www.gnu.org/licenses/>.
3544-//
3545-
3546-using System;
3547-using System.Collections.Generic;
3548-using System.Linq;
3549-
3550-using Gdk;
3551-using Wnck;
3552-
3553-using Do.Interface;
3554-using Do.Interface.Wink;
3555-using Docky.Utilities;
3556-
3557-namespace Docky.Interface
3558-{
3559-
3560-
3561- public class AutohideTracker : IDisposable
3562- {
3563- DockArea parent;
3564- bool window_intersecting_other;
3565-
3566- Gdk.Rectangle last_known_geo;
3567-
3568- public event EventHandler IntersectionChanged;
3569-
3570- public bool WindowIntersectingOther {
3571- get {
3572- return window_intersecting_other;
3573- }
3574- set {
3575- if (window_intersecting_other == value)
3576- return;
3577-
3578- window_intersecting_other = value;
3579- if (IntersectionChanged != null)
3580- IntersectionChanged (this, EventArgs.Empty);
3581- }
3582- }
3583-
3584- internal AutohideTracker (DockArea parent)
3585- {
3586- this.parent = parent;
3587- DockPreferences.IconSizeChanged += HandleIconSizeChanged;
3588- Wnck.Screen.Default.ActiveWindowChanged += HandleActiveWindowChanged;
3589- Wnck.Screen.Default.WindowClosed += WnckScreenDefaultWindowClosed;
3590- Wnck.Screen.Default.WindowOpened += WnckScreenDefaultWindowOpened;
3591- Wnck.Screen.Default.ViewportsChanged += HandleViewportsChanged;
3592- }
3593-
3594- void HandleViewportsChanged (object sender, EventArgs e)
3595- {
3596- // only update if the active window is on the current viewport. If it is not this is going to result
3597- // in a hiccup when that active window is updated
3598- if (Wnck.Screen.Default.ActiveWindow != null)
3599- if (Wnck.Screen.Default.ActiveWindow.IsInViewport (Wnck.Screen.Default.ActiveWorkspace) || !ScreenUtils.ActiveViewport.Windows ().Any ())
3600- UpdateWindowIntersect ();
3601- }
3602-
3603- void HandleIconSizeChanged ()
3604- {
3605- UpdateWindowIntersect ();
3606- }
3607-
3608- void WnckScreenDefaultWindowOpened (object o, WindowOpenedArgs args)
3609- {
3610- UpdateWindowIntersect ();
3611- }
3612-
3613- void WnckScreenDefaultWindowClosed (object o, WindowClosedArgs args)
3614- {
3615- UpdateWindowIntersect ();
3616- }
3617-
3618- void HandleGeometryChanged (object sender, EventArgs e)
3619- {
3620- Wnck.Window window = sender as Wnck.Window;
3621-
3622- Gdk.Rectangle monitor = LayoutUtils.MonitorGeometry ();
3623- Gdk.Rectangle geo = window.EasyGeometry ();
3624-
3625- geo.X = ((geo.X % monitor.Width) + monitor.Width) % monitor.Width;
3626- geo.Y = ((geo.Y % monitor.Height) + monitor.Height) % monitor.Height;
3627-
3628- if (geo == last_known_geo)
3629- return;
3630-
3631- last_known_geo = geo;
3632- UpdateWindowIntersect ();
3633- }
3634-
3635- void HandleActiveWindowChanged (object o, ActiveWindowChangedArgs args)
3636- {
3637- if (args.PreviousWindow != null)
3638- args.PreviousWindow.GeometryChanged -= HandleGeometryChanged;
3639-
3640- SetupActiveWindow ();
3641- UpdateWindowIntersect ();
3642- }
3643-
3644- void SetupActiveWindow ()
3645- {
3646- Wnck.Window active = Wnck.Screen.Default.ActiveWindow;
3647- if (active != null) {
3648- active.GeometryChanged += HandleGeometryChanged;
3649- Gdk.Rectangle geo = active.EasyGeometry ();
3650- Gdk.Rectangle monitor = LayoutUtils.MonitorGeometry ();
3651- geo.X = geo.X % monitor.Width;
3652- geo.Y = geo.Y % monitor.Height;
3653- last_known_geo = geo;
3654- }
3655- }
3656-
3657- public void UpdateWindowIntersect ()
3658- {
3659- Gdk.Rectangle adjustedDockArea = parent.MinimumDockArea;
3660- Gdk.Rectangle geo = LayoutUtils.MonitorGeometry ();
3661-
3662- adjustedDockArea.X = geo.X + (geo.Width - adjustedDockArea.Width) / 2;
3663- switch (DockPreferences.Orientation) {
3664- case DockOrientation.Bottom:
3665- adjustedDockArea.Y = geo.Y + geo.Height - adjustedDockArea.Height;
3666- break;
3667- case DockOrientation.Top:
3668- adjustedDockArea.Y = geo.Y;
3669- break;
3670- }
3671- adjustedDockArea.Inflate (-2, -2);
3672-
3673- bool intersect = false;
3674- try {
3675- IEnumerable<Wnck.Window> rawWindows = ScreenUtils.ActiveViewport.UnprocessedWindows ();
3676-
3677- Wnck.Window activeWindow = rawWindows
3678- .Where (w => w.IsActive && w.WindowType != Wnck.WindowType.Desktop)
3679- .First ();
3680-
3681- intersect = rawWindows.Any (w => !w.IsMinimized && w.WindowType != Wnck.WindowType.Desktop &&
3682- activeWindow.Pid == w.Pid &&
3683- w.EasyGeometry ().IntersectsWith (adjustedDockArea));
3684- } catch {
3685- }
3686-
3687- WindowIntersectingOther = intersect;
3688- }
3689-
3690- #region IDisposable implementation
3691- public void Dispose ()
3692- {
3693- DockPreferences.IconSizeChanged -= HandleIconSizeChanged;
3694- if (Wnck.Screen.Default != null) {
3695- Wnck.Screen.Default.ActiveWindowChanged -= HandleActiveWindowChanged;
3696- Wnck.Screen.Default.WindowClosed -= WnckScreenDefaultWindowClosed;
3697- Wnck.Screen.Default.WindowOpened -= WnckScreenDefaultWindowOpened;
3698- Wnck.Screen.Default.ActiveWindow.GeometryChanged -= HandleGeometryChanged;
3699- Wnck.Screen.Default.ViewportsChanged -= HandleViewportsChanged;
3700- }
3701- }
3702- #endregion
3703-
3704- }
3705-}
3706
3707=== removed file 'Do.Interface.Linux.Docky/src/Docky.Interface/ClickAnimationType.cs'
3708--- Do.Interface.Linux.Docky/src/Docky.Interface/ClickAnimationType.cs 2009-01-09 05:34:19 +0000
3709+++ Do.Interface.Linux.Docky/src/Docky.Interface/ClickAnimationType.cs 1970-01-01 00:00:00 +0000
3710@@ -1,29 +0,0 @@
3711-// ClickAnimationType.cs
3712-//
3713-// Copyright (C) 2009 GNOME Do
3714-//
3715-// This program is free software: you can redistribute it and/or modify
3716-// it under the terms of the GNU General Public License as published by
3717-// the Free Software Foundation, either version 3 of the License, or
3718-// (at your option) any later version.
3719-//
3720-// This program is distributed in the hope that it will be useful,
3721-// but WITHOUT ANY WARRANTY; without even the implied warranty of
3722-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3723-// GNU General Public License for more details.
3724-//
3725-// You should have received a copy of the GNU General Public License
3726-// along with this program. If not, see <http://www.gnu.org/licenses/>.
3727-//
3728-
3729-using System;
3730-
3731-namespace Docky.Interface
3732-{
3733- public enum ClickAnimationType
3734- {
3735- None = 0,
3736- Bounce,
3737- Darken,
3738- }
3739-}
3740
3741=== removed file 'Do.Interface.Linux.Docky/src/Docky.Interface/CursorTracker.cs'
3742--- Do.Interface.Linux.Docky/src/Docky.Interface/CursorTracker.cs 2009-05-28 14:13:10 +0000
3743+++ Do.Interface.Linux.Docky/src/Docky.Interface/CursorTracker.cs 1970-01-01 00:00:00 +0000
3744@@ -1,160 +0,0 @@
3745-// CursorTracker.cs
3746-//
3747-// Copyright (C) 2009 GNOME Do
3748-//
3749-// This program is free software: you can redistribute it and/or modify
3750-// it under the terms of the GNU General Public License as published by
3751-// the Free Software Foundation, either version 3 of the License, or
3752-// (at your option) any later version.
3753-//
3754-// This program is distributed in the hope that it will be useful,
3755-// but WITHOUT ANY WARRANTY; without even the implied warranty of
3756-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3757-// GNU General Public License for more details.
3758-//
3759-// You should have received a copy of the GNU General Public License
3760-// along with this program. If not, see <http://www.gnu.org/licenses/>.
3761-//
3762-
3763-using System;
3764-using System.Collections.Generic;
3765-using System.Linq;
3766-
3767-using Gdk;
3768-using Gtk;
3769-
3770-namespace Docky.Interface
3771-{
3772- public class CursorUpdatedArgs : EventArgs
3773- {
3774- public readonly Point OldCursor;
3775- public readonly Point NewCursor;
3776-
3777- public CursorUpdatedArgs (Point newCursor, Point oldCursor)
3778- {
3779- NewCursor = newCursor;
3780- OldCursor = oldCursor;
3781- }
3782- }
3783-
3784- public class CursorTracker : IDisposable
3785- {
3786- uint timer;
3787- uint timer_length;
3788-
3789- DateTime last_gtk_update;
3790-
3791- Gtk.Window parent;
3792-
3793- public event EventHandler<CursorUpdatedArgs> CursorUpdated;
3794-
3795- public bool Enabled { get; set; }
3796-
3797- public Gdk.Point Cursor { get; private set; }
3798- public Gdk.Point RootCursor { get; private set; }
3799-
3800- public ModifierType ModifierType { get; private set; }
3801-
3802- public Cairo.PointD CursorD {
3803- get { return new Cairo.PointD (Cursor.X, Cursor.Y); }
3804- }
3805-
3806- public Cairo.PointD RootCursorD {
3807- get { return new Cairo.PointD (RootCursor.X, RootCursor.Y); }
3808- }
3809-
3810- public uint TimerLength {
3811- get { return timer_length; }
3812- set {
3813- if (timer_length == value)
3814- return;
3815- timer_length = value;
3816- ResetTimer ();
3817- }
3818- }
3819-
3820- public CursorTracker (Gtk.Window parent, uint timerLength)
3821- {
3822- Enabled = true;
3823- this.parent = parent;
3824-
3825- parent.MotionNotifyEvent += HandleMotionNotifyEvent;
3826- parent.AddEvents ((int) EventMask.PointerMotionMask);
3827-
3828- timer_length = timerLength;
3829- timer = GLib.Timeout.Add (timer_length, HandleCursorTimeoutElapsed);
3830- }
3831-
3832- bool HandleCursorTimeoutElapsed ()
3833- {
3834- if (!Enabled || (DateTime.UtcNow - last_gtk_update).TotalMilliseconds < timer_length >> 1) {
3835- return true;
3836- }
3837-
3838- int x, y, xroot, yroot;
3839- ModifierType mod;
3840- Gdk.Screen screen;
3841-
3842- parent.Display.GetPointer (out screen, out xroot, out yroot, out mod);
3843-
3844- if (screen == parent.Screen) {
3845- Gdk.Rectangle geo;
3846- if (parent is DockWindow)
3847- (parent as DockWindow).GetBufferedPosition (out geo.X, out geo.Y);
3848- else
3849- parent.GetPosition (out geo.X, out geo.Y);
3850-
3851- x = xroot - geo.X;
3852- y = yroot - geo.Y;
3853- } else {
3854- xroot = -4000;
3855- yroot = -4000;
3856- x = -4000;
3857- y = -4000;
3858- }
3859-
3860- if (Cursor.X != x || Cursor.Y != y || ModifierType != mod) {
3861- Point last = Cursor;
3862- Cursor = new Point (x, y);
3863- RootCursor = new Point (xroot, yroot);
3864- ModifierType = mod;
3865-
3866- OnCursorUpdated (last);
3867- }
3868-
3869- return true;
3870- }
3871-
3872- void HandleMotionNotifyEvent (object o, MotionNotifyEventArgs args)
3873- {
3874- if (!Enabled)
3875- return;
3876-
3877- Point last = Cursor;
3878- last_gtk_update = DateTime.UtcNow;
3879- Cursor = new Point ((int) args.Event.X, (int) args.Event.Y);
3880- RootCursor = new Point ((int) args.Event.XRoot, (int) args.Event.YRoot);
3881- ModifierType = args.Event.State;
3882-
3883- OnCursorUpdated (last);
3884- }
3885-
3886- void OnCursorUpdated (Point lastCursor)
3887- {
3888- if (CursorUpdated != null)
3889- CursorUpdated (this, new CursorUpdatedArgs (Cursor, lastCursor));
3890- }
3891-
3892- void ResetTimer ()
3893- {
3894- GLib.Source.Remove (timer);
3895- timer = GLib.Timeout.Add (timer_length, HandleCursorTimeoutElapsed);
3896- }
3897-
3898- public void Dispose ()
3899- {
3900- GLib.Source.Remove (timer);
3901- parent.MotionNotifyEvent -= HandleMotionNotifyEvent;
3902- }
3903- }
3904-}
3905
3906=== removed file 'Do.Interface.Linux.Docky/src/Docky.Interface/DnDTracker.cs'
3907--- Do.Interface.Linux.Docky/src/Docky.Interface/DnDTracker.cs 2009-06-17 03:18:26 +0000
3908+++ Do.Interface.Linux.Docky/src/Docky.Interface/DnDTracker.cs 1970-01-01 00:00:00 +0000
3909@@ -1,518 +0,0 @@
3910-//
3911-// Copyright (C) 2009 GNOME Do
3912-//
3913-// This program is free software: you can redistribute it and/or modify
3914-// it under the terms of the GNU General Public License as published by
3915-// the Free Software Foundation, either version 3 of the License, or
3916-// (at your option) any later version.
3917-//
3918-// This program is distributed in the hope that it will be useful,
3919-// but WITHOUT ANY WARRANTY; without even the implied warranty of
3920-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3921-// GNU General Public License for more details.
3922-//
3923-// You should have received a copy of the GNU General Public License
3924-// along with this program. If not, see <http://www.gnu.org/licenses/>.
3925-//
3926-
3927-using System;
3928-using System.Collections.Generic;
3929-using System.Collections.ObjectModel;
3930-using System.Linq;
3931-using System.Text.RegularExpressions;
3932-
3933-using Gdk;
3934-using Gtk;
3935-
3936-using Docky.Core;
3937-using Docky.Utilities;
3938-
3939-using Do.Interface;
3940-
3941-namespace Docky.Interface
3942-{
3943- public enum DragEdge {
3944- None = 0,
3945- Top,
3946- Left,
3947- Right,
3948- }
3949-
3950- public class DnDTracker : IDisposable
3951- {
3952- public event EventHandler DrawRequired;
3953- public event EventHandler DragEnded;
3954-
3955- const int DragHotZoneSize = 8;
3956-
3957- public bool DragResizing { get; private set; }
3958-
3959- public DragEdge DragEdge { get; private set; }
3960-
3961- public DragState DragState { get; set; }
3962-
3963- public bool GtkDragging { get; set; }
3964-
3965- public bool PreviewIsDesktopFile { get; set; }
3966-
3967- bool gtk_drag_source_set;
3968-
3969- int drag_start_icon_size;
3970-
3971- DockArea parent;
3972-
3973- Gdk.Point drag_start_point;
3974-
3975- Gdk.CursorType cursor_type;
3976-
3977- Gdk.Window drag_proxy;
3978-
3979- Gdk.DragContext drag_context;
3980-
3981- IEnumerable<string> uri_list;
3982-
3983- Gdk.Point Cursor {
3984- get { return CursorTracker.Cursor; }
3985- }
3986-
3987- Gdk.Rectangle MinimumDockArea {
3988- get { return parent.MinimumDockArea; }
3989- }
3990-
3991- ReadOnlyCollection<AbstractDockItem> DockItems {
3992- get { return DockServices.ItemsService.DockItems; }
3993- }
3994-
3995- ItemPositionProvider PositionProvider { get; set; }
3996-
3997- CursorTracker CursorTracker { get; set; }
3998-
3999- AbstractDockItem CurrentDockItem {
4000- get {
4001- try { return DockItems [PositionProvider.IndexAtPosition (Cursor)]; }
4002- catch { return null; }
4003- }
4004- }
4005-
4006- bool CursorNearTopDraggableEdge {
4007- get {
4008- return MinimumDockArea.Contains (Cursor) && CurrentDockItem is SeparatorItem;
4009- }
4010- }
4011-
4012- bool CursorNearLeftEdge {
4013- get {
4014- return parent.CursorIsOverDockArea && Math.Abs (Cursor.X - MinimumDockArea.X) < DragHotZoneSize;
4015- }
4016- }
4017-
4018- bool CursorNearRightEdge {
4019- get {
4020- return parent.CursorIsOverDockArea && Math.Abs (Cursor.X - (MinimumDockArea.X + MinimumDockArea.Width)) < DragHotZoneSize;
4021- }
4022- }
4023-
4024- bool CursorNearDraggableEdge {
4025- get {
4026- return CursorNearTopDraggableEdge ||
4027- CursorNearRightEdge ||
4028- CursorNearLeftEdge;
4029- }
4030- }
4031-
4032- public bool InternalDragActive {
4033- get { return DragResizing && drag_start_point != Cursor; }
4034- }
4035-
4036- DragEdge CurrentDragEdge {
4037- get {
4038- if (CursorNearTopDraggableEdge)
4039- return DragEdge.Top;
4040- else if (CursorNearLeftEdge)
4041- return DragEdge.Left;
4042- else if (CursorNearRightEdge)
4043- return DragEdge.Right;
4044- return DragEdge.None;
4045- }
4046- }
4047-
4048- IEnumerable<Gdk.Window> WindowStack {
4049- get {
4050- try {
4051- return parent.Screen.WindowStack;
4052- } catch {
4053- try {
4054- return Wnck.Screen.Default.WindowsStacked.Select (wnk => Gdk.Window.ForeignNew ((uint) wnk.Xid));
4055- } catch {
4056- return null;
4057- }
4058- }
4059- }
4060- }
4061-
4062- internal DnDTracker (DockArea parent, ItemPositionProvider position, CursorTracker cursorTracker)
4063- {
4064- this.parent = parent;
4065- cursor_type = CursorType.LeftPtr;
4066- PositionProvider = position;
4067- CursorTracker = cursorTracker;
4068-
4069- DragState = new DragState (Cursor, null);
4070- DragState.IsFinished = true;
4071-
4072- RegisterEvents ();
4073-
4074- RegisterGtkDragDest ();
4075- RegisterGtkDragSource ();
4076- }
4077-
4078- public void Enable ()
4079- {
4080- RegisterGtkDragSource ();
4081- }
4082-
4083- public void Disable ()
4084- {
4085- UnregisterGtkDragSource ();
4086- }
4087-
4088- void RegisterEvents ()
4089- {
4090- parent.DragDataReceived += HandleDragDataReceived;
4091- parent.DragMotion += HandleDragMotionEvent;
4092- parent.DragBegin += HandleDragBegin;
4093- parent.DragEnd += HandleDragEnd;
4094- parent.DragDrop += HandleDragDrop;
4095- parent.DragFailed += HandleDragFailed;
4096- parent.ButtonPressEvent += HandleButtonPressEvent;
4097- parent.MotionNotifyEvent += HandleMotionNotifyEvent;
4098- parent.ButtonReleaseEvent += HandleButtonReleaseEvent;
4099-
4100- CursorTracker.CursorUpdated += HandleCursorUpdated;
4101- }
4102-
4103- void UnregisterEvents ()
4104- {
4105- parent.DragDataReceived -= HandleDragDataReceived;
4106- parent.DragMotion -= HandleDragMotionEvent;
4107- parent.DragBegin -= HandleDragBegin;
4108- parent.DragEnd -= HandleDragEnd;
4109- parent.DragDrop -= HandleDragDrop;
4110- parent.DragFailed -= HandleDragFailed;
4111- parent.ButtonPressEvent -= HandleButtonPressEvent;
4112- parent.MotionNotifyEvent -= HandleMotionNotifyEvent;
4113- parent.ButtonReleaseEvent -= HandleButtonReleaseEvent;
4114-
4115- CursorTracker.CursorUpdated -= HandleCursorUpdated;
4116- }
4117-
4118- void HandleMotionNotifyEvent(object o, MotionNotifyEventArgs args)
4119- {
4120- GtkDragging = false;
4121- }
4122-
4123- void HandleButtonPressEvent(object o, ButtonPressEventArgs args)
4124- {
4125- if (CursorNearDraggableEdge)
4126- StartDrag ();
4127- }
4128-
4129- void HandleButtonReleaseEvent(object o, ButtonReleaseEventArgs args)
4130- {
4131- if (DragResizing)
4132- EndDrag ();
4133- }
4134-
4135- void HandleCursorUpdated(object sender, CursorUpdatedArgs e)
4136- {
4137- if (GtkDragging && (CursorTracker.ModifierType & ModifierType.Button1Mask) != ModifierType.Button1Mask) {
4138- GtkDragging = false;
4139- }
4140-
4141- SetDragProxy ();
4142-
4143- ConfigureCursor ();
4144-
4145- if (DragResizing)
4146- HandleDragMotion ();
4147- }
4148-
4149- void HandleDragFailed (object o, DragFailedArgs args)
4150- {
4151- // disable the animation
4152- args.RetVal = parent.CursorIsOverDockArea || DockServices.ItemsService.ItemCanBeRemoved (DockItems.IndexOf (DragState.DragItem));
4153- }
4154-
4155- void HandleDragDrop (object o, DragDropArgs args)
4156- {
4157- int index = PositionProvider.IndexAtPosition (Cursor);
4158- if (parent.CursorIsOverDockArea && index >= 0 && index < DockItems.Count && uri_list != null) {
4159- foreach (string uri in uri_list) {
4160- if (CurrentDockItem != null && CurrentDockItem.IsAcceptingDrops && !uri.EndsWith (".desktop")) {
4161- CurrentDockItem.ReceiveItem (uri);
4162- } else {
4163- Gdk.Point center = PositionProvider.IconUnzoomedPosition (index);
4164- if (center.X < Cursor.X && index < DockItems.Count - 1)
4165- index++;
4166- DockServices.ItemsService.AddItemToDock (uri, index);
4167- }
4168- }
4169- }
4170-
4171- Gtk.Drag.Finish (args.Context, true, true, args.Time);
4172- args.RetVal = true;
4173- }
4174-
4175- void HandleDragEnd (object o, DragEndArgs args)
4176- {
4177- if (parent.CursorIsOverDockArea) {
4178- int currentPosition = PositionProvider.IndexAtPosition (Cursor);
4179- if (currentPosition != -1)
4180- DockServices.ItemsService.DropItemOnPosition (DragState.DragItem, currentPosition);
4181- } else {
4182- bool result = DockServices.ItemsService.RemoveItem (DragState.DragItem);
4183- if (result) {
4184- PoofWindow poof = new PoofWindow (DockPreferences.FullIconSize);
4185- poof.SetCenterPosition (CursorTracker.RootCursor);
4186- poof.Run ();
4187- }
4188- }
4189-
4190- DragState.IsFinished = true;
4191- GtkDragging = false;
4192- SetDragProxy ();
4193-
4194- OnDragEnded ();
4195- OnDrawRequired ();
4196- args.RetVal = true;
4197- }
4198-
4199- void HandleDragBegin (object o, DragBeginArgs args)
4200- {
4201- GtkDragging = true;
4202- // the user might not end the drag on the same horizontal position they start it on
4203- int item = PositionProvider.IndexAtPosition (Cursor);
4204-
4205- if (item != -1 && DockServices.ItemsService.ItemCanBeMoved (item))
4206- DragState = new DragState (Cursor, DockItems [item]);
4207- else
4208- DragState = new DragState (Cursor, null);
4209-
4210- Gdk.Pixbuf pbuf;
4211- if (DragState.DragItem == null) {
4212- pbuf = IconProvider.PixbufFromIconName ("gtk-remove", DockPreferences.IconSize);
4213- } else {
4214- pbuf = DragState.DragItem.GetDragPixbuf ();
4215- }
4216-
4217- if (pbuf != null)
4218- Gtk.Drag.SetIconPixbuf (args.Context, pbuf, pbuf.Width / 2, pbuf.Height / 2);
4219- args.RetVal = true;
4220- }
4221-
4222- void HandleDragMotionEvent (object o, DragMotionArgs args)
4223- {
4224- GtkDragging = true;
4225-
4226- do {
4227- if (DragState.DragItem == null || DragState.IsFinished ||
4228- !DockItems.Contains (DragState.DragItem) || !parent.CursorIsOverDockArea)
4229- continue;
4230-
4231- int draggedPosition = DockItems.IndexOf (DragState.DragItem);
4232- int currentPosition = PositionProvider.IndexAtPosition (Cursor);
4233- if (draggedPosition == currentPosition || currentPosition == -1)
4234- continue;
4235-
4236- DockServices.ItemsService.MoveItemToPosition (draggedPosition, currentPosition);
4237- } while (false);
4238-
4239- OnDrawRequired ();
4240-
4241- if (drag_context != args.Context) {
4242- Gdk.Atom target = Gtk.Drag.DestFindTarget (parent, args.Context, null);
4243- if (target != null)
4244- Gtk.Drag.GetData (parent, args.Context, target, Gtk.Global.CurrentEventTime);
4245- drag_context = args.Context;
4246-
4247- }
4248-
4249- Gdk.Drag.Status (args.Context, DragAction.Copy, args.Time);
4250- args.RetVal = true;
4251- }
4252-
4253- void HandleDragDataReceived (object o, DragDataReceivedArgs args)
4254- {
4255- IEnumerable<string> uriList;
4256- try {
4257- string data = System.Text.Encoding.UTF8.GetString (args.SelectionData.Data);
4258- data = System.Uri.UnescapeDataString (data);
4259- //sometimes we get a null at the end, and it crashes us
4260- data = data.TrimEnd ('\0');
4261-
4262- uriList = Regex.Split (data, "\r\n")
4263- .Where (uri => uri.StartsWith ("file://"))
4264- .Select (uri => uri.Substring ("file://".Length));
4265- } catch {
4266- uriList = Enumerable.Empty<string> ();
4267- }
4268-
4269- uri_list = uriList;
4270- PreviewIsDesktopFile = !uriList.Any () || uriList.Any (s => s.EndsWith (".desktop"));
4271- args.RetVal = true;
4272- }
4273-
4274-
4275- void RegisterGtkDragSource ()
4276- {
4277- gtk_drag_source_set = true;
4278- // we dont really want to offer the drag to anything, merely pretend to, so we set a mimetype nothing takes
4279- TargetEntry te = new TargetEntry ("nomatch", TargetFlags.App | TargetFlags.OtherApp, 0);
4280- Gtk.Drag.SourceSet (parent, Gdk.ModifierType.Button1Mask, new [] {te}, DragAction.Copy);
4281- }
4282-
4283- void RegisterGtkDragDest ()
4284- {
4285- TargetEntry dest_te = new TargetEntry ("text/uri-list", 0, 0);
4286- Gtk.Drag.DestSet (parent, 0, new [] {dest_te}, Gdk.DragAction.Copy);
4287- }
4288-
4289- void UnregisterGtkDragSource ()
4290- {
4291- gtk_drag_source_set = false;
4292- Gtk.Drag.SourceUnset (parent);
4293- }
4294-
4295- void SetDragProxy ()
4296- {
4297- if ((CursorTracker.ModifierType & ModifierType.Button1Mask) != ModifierType.Button1Mask || parent.CursorIsOverDockArea) {
4298- if (drag_proxy == null)
4299- return;
4300- drag_proxy = null;
4301- RegisterGtkDragDest ();
4302- } else {
4303- Gdk.Point local_cursor = CursorTracker.RootCursor;
4304-
4305- IEnumerable<Gdk.Window> windows = WindowStack;
4306-
4307- foreach (Gdk.Window w in windows.Reverse ()) {
4308- if (w == null || w == DockWindow.Window.GdkWindow || !w.IsVisible)
4309- continue;
4310-
4311- Gdk.Rectangle rect;
4312- int depth;
4313- w.GetGeometry (out rect.X, out rect.Y, out rect.Width, out rect.Height, out depth);
4314- if (rect.Contains (local_cursor)) {
4315- if (w == drag_proxy)
4316- break;
4317-
4318- drag_proxy = w;
4319- Gtk.Drag.DestSetProxy (parent, w, DragProtocol.Xdnd, true);
4320- break;
4321- }
4322- }
4323- }
4324- }
4325-
4326- void ConfigureCursor ()
4327- {
4328- // we do this so that our custom drag isn't destroyed by gtk's drag
4329- if (gtk_drag_source_set && CursorNearDraggableEdge) {
4330- UnregisterGtkDragSource ();
4331-
4332- if (cursor_type != CursorType.SbVDoubleArrow && CursorNearTopDraggableEdge) {
4333- SetCursor (CursorType.SbVDoubleArrow);
4334-
4335- } else if (cursor_type != CursorType.LeftSide && CursorNearLeftEdge) {
4336- SetCursor (CursorType.LeftSide);
4337-
4338- } else if (cursor_type != CursorType.RightSide && CursorNearRightEdge) {
4339- SetCursor (CursorType.RightSide);
4340- }
4341-
4342- } else if (!gtk_drag_source_set && !DragResizing && !CursorNearDraggableEdge) {
4343- if (!parent.PainterOverlayVisible)
4344- RegisterGtkDragSource ();
4345- if (cursor_type != CursorType.LeftPtr)
4346- SetCursor (CursorType.LeftPtr);
4347- }
4348- }
4349-
4350- void SetCursor (Gdk.CursorType type)
4351- {
4352- cursor_type = type;
4353- Gdk.Cursor tmp_cursor = new Gdk.Cursor (type);
4354- parent.GdkWindow.Cursor = tmp_cursor;
4355- tmp_cursor.Dispose ();
4356- }
4357-
4358- void StartDrag ()
4359- {
4360- if (parent.PainterOverlayVisible) return;
4361-
4362- drag_start_point = Cursor;
4363- drag_start_icon_size = DockPreferences.IconSize;
4364- DragResizing = true;
4365- DragEdge = CurrentDragEdge;
4366- }
4367-
4368- void EndDrag ()
4369- {
4370- if (parent.PainterOverlayVisible) return;
4371-
4372- DragEdge = DragEdge.None;
4373- DragResizing = false;
4374-
4375- OnDragEnded ();
4376- }
4377-
4378- void HandleDragMotion ()
4379- {
4380- int movement = 0;
4381- switch (DragEdge) {
4382- case DragEdge.Top:
4383- int delta = drag_start_point.Y - Cursor.Y;
4384- if (DockPreferences.Orientation == DockOrientation.Top)
4385- delta = 0 - delta;
4386- DockPreferences.IconSize = Math.Min (drag_start_icon_size + delta, DockPreferences.MaxIconSize);
4387- return;
4388- case DragEdge.Left:
4389- movement = drag_start_point.X - Cursor.X;
4390- break;
4391- case DragEdge.Right:
4392- movement = Cursor.X - drag_start_point.X;
4393- break;
4394- }
4395-
4396- if (movement > DockPreferences.IconSize / 2 + 2) {
4397- DockPreferences.AutomaticIcons++;
4398- } else if (movement < 0 - (DockPreferences.IconSize / 2 + 2)) {
4399- DockPreferences.AutomaticIcons--;
4400- } else {
4401- return;
4402- }
4403-
4404- drag_start_point = Cursor;
4405- }
4406-
4407- void OnDrawRequired ()
4408- {
4409- if (DrawRequired != null)
4410- DrawRequired (this, EventArgs.Empty);
4411- }
4412-
4413- void OnDragEnded ()
4414- {
4415- if (DragEnded != null)
4416- DragEnded (this, EventArgs.Empty);
4417- }
4418-
4419- #region IDisposable implementation
4420- public void Dispose ()
4421- {
4422- UnregisterEvents ();
4423- }
4424- #endregion
4425-
4426- }
4427-}
4428
4429=== removed file 'Do.Interface.Linux.Docky/src/Docky.Interface/DoInteropService.cs'
4430--- Do.Interface.Linux.Docky/src/Docky.Interface/DoInteropService.cs 2009-02-08 04:41:17 +0000
4431+++ Do.Interface.Linux.Docky/src/Docky.Interface/DoInteropService.cs 1970-01-01 00:00:00 +0000
4432@@ -1,99 +0,0 @@
4433-// DoInteropService.cs
4434-//
4435-// Copyright (C) 2009 GNOME Do
4436-//
4437-// This program is free software: you can redistribute it and/or modify
4438-// it under the terms of the GNU General Public License as published by
4439-// the Free Software Foundation, either version 3 of the License, or
4440-// (at your option) any later version.
4441-//
4442-// This program is distributed in the hope that it will be useful,
4443-// but WITHOUT ANY WARRANTY; without even the implied warranty of
4444-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4445-// GNU General Public License for more details.
4446-//
4447-// You should have received a copy of the GNU General Public License
4448-// along with this program. If not, see <http://www.gnu.org/licenses/>.
4449-//
4450-
4451-using System;
4452-
4453-using Do.Interface;
4454-
4455-using Docky.Core;
4456-
4457-namespace Docky.Interface
4458-{
4459-
4460-
4461- public class DoInteropService : IDoInteropService
4462- {
4463-
4464- IDoController controller;
4465-
4466- public void SignalSummon ()
4467- {
4468- if (Summoned != null)
4469- Summoned (this, EventArgs.Empty);
4470- }
4471-
4472- public void SignalVanish ()
4473- {
4474- if (Vanished != null)
4475- Vanished (this, EventArgs.Empty);
4476- }
4477-
4478- public void SignalReset ()
4479- {
4480- if (Reset != null)
4481- Reset (this, EventArgs.Empty);
4482- }
4483-
4484- public void SignalResultsGrow ()
4485- {
4486- if (ResultsGrow != null)
4487- ResultsGrow (this, EventArgs.Empty);
4488- }
4489-
4490- public void SignalResultsShrink ()
4491- {
4492- if (ResultsShrink != null)
4493- ResultsShrink (this, EventArgs.Empty);
4494- }
4495-
4496- #region IDoInteropService implementation
4497-
4498- public event EventHandler Summoned;
4499-
4500- public event EventHandler Vanished;
4501-
4502- public event EventHandler Reset;
4503-
4504- public event EventHandler ResultsGrow;
4505-
4506- public event EventHandler ResultsShrink;
4507-
4508- public void RequestClickOff ()
4509- {
4510- controller.ButtonPressOffWindow ();
4511- }
4512-
4513- #endregion
4514-
4515- public DoInteropService (IDoController controller)
4516- {
4517- this.controller = controller;
4518- }
4519-
4520- #region IDisposable implementation
4521-
4522- public void Dispose ()
4523- {
4524- DockServices.UnregisterService (this);
4525- controller = null;
4526- }
4527-
4528- #endregion
4529-
4530- }
4531-}
4532
4533=== removed file 'Do.Interface.Linux.Docky/src/Docky.Interface/DockAnimationState.cs'
4534--- Do.Interface.Linux.Docky/src/Docky.Interface/DockAnimationState.cs 2009-06-06 05:39:12 +0000
4535+++ Do.Interface.Linux.Docky/src/Docky.Interface/DockAnimationState.cs 1970-01-01 00:00:00 +0000
4536@@ -1,102 +0,0 @@
4537-// DockAnimationState.cs
4538-//
4539-// Copyright (C) 2008 GNOME Do
4540-//
4541-// This program is free software: you can redistribute it and/or modify
4542-// it under the terms of the GNU General Public License as published by
4543-// the Free Software Foundation, either version 3 of the License, or
4544-// (at your option) any later version.
4545-//
4546-// This program is distributed in the hope that it will be useful,
4547-// but WITHOUT ANY WARRANTY; without even the implied warranty of
4548-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4549-// GNU General Public License for more details.
4550-//
4551-// You should have received a copy of the GNU General Public License
4552-// along with this program. If not, see <http://www.gnu.org/licenses/>.
4553-//
4554-
4555-using System;
4556-using System.Collections.Generic;
4557-using System.Linq;
4558-
4559-using Do;
4560-using Do.Interface;
4561-using Do.Platform;
4562-using Do.Universe;
4563-
4564-namespace Docky.Interface
4565-{
4566- public delegate bool AnimationConditionHandler ();
4567-
4568- public enum Animations {
4569- Open,
4570- Zoom,
4571- Bounce,
4572- Painter,
4573- Summon,
4574- IconInsert,
4575- UrgencyChanged,
4576- InputModeChanged,
4577- ActiveWindowChanged,
4578- }
4579-
4580- public class DockAnimationState : IDisposable
4581- {
4582- Dictionary<Animations, AnimationConditionHandler> animation_conditions;
4583- bool previous_animation_needed;
4584-
4585- public bool AnimationNeeded {
4586- get {
4587- // we will pass one additional animation requirement after none of our handlers say its needed.
4588- // this is to allow these handlers to "0" on the screen, and not just be in a half finished state
4589- bool animationNeeded = animation_conditions.Values.Any (handler => handler.Invoke ());
4590- bool retVal = previous_animation_needed || animationNeeded;
4591- previous_animation_needed = animationNeeded;
4592- return retVal;
4593- }
4594- }
4595-
4596- public DockAnimationState()
4597- {
4598- animation_conditions = new Dictionary<Animations, AnimationConditionHandler> ();
4599- }
4600-
4601- public void AddCondition (Animations id, AnimationConditionHandler handler)
4602- {
4603- if (animation_conditions.ContainsKey (id))
4604- throw new Exception (string.Format ("Animation Condition Handler already contains callback for {0}", id));
4605-
4606- animation_conditions [id] = handler;
4607- }
4608-
4609- public bool Contains (Animations id)
4610- {
4611- return animation_conditions.ContainsKey (id);
4612- }
4613-
4614- public bool this [Animations condition]
4615- {
4616- get {
4617- if (!animation_conditions.ContainsKey (condition))
4618- return false;
4619- return animation_conditions [condition].Invoke ();
4620- }
4621- }
4622-
4623- public void RemoveCondition (Animations id)
4624- {
4625- animation_conditions.Remove (id);
4626- }
4627-
4628- #region IDisposable implementation
4629-
4630- public void Dispose ()
4631- {
4632- animation_conditions.Clear ();
4633- }
4634-
4635- #endregion
4636-
4637- }
4638-}
4639
4640=== removed file 'Do.Interface.Linux.Docky/src/Docky.Interface/DockArea.cs'
4641--- Do.Interface.Linux.Docky/src/Docky.Interface/DockArea.cs 2009-08-19 07:43:04 +0000
4642+++ Do.Interface.Linux.Docky/src/Docky.Interface/DockArea.cs 1970-01-01 00:00:00 +0000
4643@@ -1,836 +0,0 @@
4644-// DockArea.cs
4645-//
4646-// Copyright (C) 2008 GNOME Do
4647-//
4648-// This program is free software: you can redistribute it and/or modify
4649-// it under the terms of the GNU General Public License as published by
4650-// the Free Software Foundation, either version 3 of the License, or
4651-// (at your option) any later version.
4652-//
4653-// This program is distributed in the hope that it will be useful,
4654-// but WITHOUT ANY WARRANTY; without even the implied warranty of
4655-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4656-// GNU General Public License for more details.
4657-//
4658-// You should have received a copy of the GNU General Public License
4659-// along with this program. If not, see <http://www.gnu.org/licenses/>.
4660-//
4661-
4662-using System;
4663-using System.Collections.Generic;
4664-using System.Collections.ObjectModel;
4665-using System.Linq;
4666-
4667-using Cairo;
4668-using Gdk;
4669-using Gtk;
4670-
4671-using Do.Platform;
4672-using Do.Interface.Wink;
4673-using Do.Interface.Xlib;
4674-
4675-using Docky.Core;
4676-using Docky.Utilities;
4677-using Docky.Interface.Menus;
4678-using Docky.Interface.Painters;
4679-
4680-namespace Docky.Interface
4681-{
4682-
4683-
4684- internal partial class DockArea : Gtk.DrawingArea
4685- {
4686- public static readonly TimeSpan BaseAnimationTime = new TimeSpan (0, 0, 0, 0, 150);
4687-
4688- static DateTime UpdateTimeStamp (DateTime lastStamp, TimeSpan animationLength)
4689- {
4690- TimeSpan delta = DateTime.UtcNow - lastStamp;
4691- if (delta < animationLength)
4692- return DateTime.UtcNow.Subtract (animationLength - delta);
4693- return DateTime.UtcNow;
4694- }
4695-
4696- const uint OffDockWakeupTime = 250;
4697- const uint OnDockWakeupTime = 20;
4698-
4699- const int UrgentBounceHeight = 80;
4700- const int LaunchBounceHeight = 30;
4701-
4702- TimeSpan BounceTime = new TimeSpan (0, 0, 0, 0, 700);
4703- TimeSpan InsertAnimationTime = new TimeSpan (0, 0, 0, 0, 150*5);
4704-
4705- #region Private Variables
4706- DateTime enter_time = new DateTime (0);
4707- DateTime interface_change_time = new DateTime (0);
4708- DateTime last_draw_timeout = new DateTime (0);
4709- DateTime showhide_time = new DateTime (0);
4710- DateTime painter_time = new DateTime (0);
4711-
4712- TimeSpan painter_span;
4713-
4714- uint animation_timer;
4715-
4716- DockWindow window;
4717-
4718- DrawingService drawing_service;
4719-
4720- #endregion
4721-
4722- #region Public Properties
4723- //// <value>
4724- /// Returns true if the cursor is over the visible part of the dock or the pixel closest to its autohide edge
4725- /// </value>
4726- public bool CursorIsOverDockArea { get; private set; }
4727-
4728- /// <value>
4729- /// The width of the docks window, but not the visible dock
4730- /// </value>
4731- public int Width { get; private set; }
4732-
4733- /// <value>
4734- /// The height of the docks window
4735- /// </value>
4736- public int Height { get; private set; }
4737-
4738- //// <value>
4739- /// Returns true if the dock is currently being overlayed by an IDockPainter
4740- /// </value>
4741- public bool PainterOverlayVisible { get; private set; }
4742-
4743- /// <value>
4744- /// The width of the visible dock
4745- /// </value>
4746- public int DockWidth {
4747- get { return PositionProvider.DockWidth; }
4748- }
4749-
4750- /// <summary>
4751- /// The height of the visible dock
4752- /// </summary>
4753- public int DockHeight {
4754- get { return PositionProvider.DockHeight; }
4755- }
4756-
4757- public uint[] StrutRequest {
4758- get {
4759- uint[] values = new uint[12];
4760- Gdk.Rectangle geo = LayoutUtils.MonitorGeometry ();
4761-
4762- if (DockPreferences.AutohideType != AutohideType.None)
4763- return values;
4764-
4765- switch (DockPreferences.Orientation) {
4766- case DockOrientation.Bottom:
4767- values [(int) Struts.Bottom] = (uint) (DockHeight + (Screen.Height - (geo.Y + geo.Height)));
4768- values [(int) Struts.BottomStart] = (uint) geo.X;
4769- values [(int) Struts.BottomEnd] = (uint) (geo.X + geo.Width - 1);
4770- break;
4771- case DockOrientation.Top:
4772- values [(int) Struts.Top] = (uint) (DockHeight + geo.Y);
4773- values [(int) Struts.TopStart] = (uint) geo.X;
4774- values [(int) Struts.TopEnd] = (uint) (geo.X + geo.Width - 1);
4775- break;
4776- }
4777- return values;
4778- }
4779- }
4780-
4781- /// <value>
4782- /// The current cursor as known to the dock.
4783- /// </value>
4784- public Gdk.Point Cursor {
4785- get {
4786- return CursorTracker.Cursor;
4787- }
4788- }
4789-
4790- public Gdk.Rectangle MinimumDockArea {
4791- get {
4792- return PositionProvider.MinimumDockArea;
4793- }
4794- }
4795- #endregion
4796-
4797- AutohideTracker AutohideTracker { get; set; }
4798-
4799- CursorTracker CursorTracker { get; set; }
4800-
4801- DnDTracker DnDTracker { get; set; }
4802-
4803- DockAnimationState AnimationState { get; set; }
4804-
4805- ItemPositionProvider PositionProvider { get; set; }
4806-
4807- new DockItemMenu PopupMenu { get; set; }
4808-
4809- ReadOnlyCollection<AbstractDockItem> DockItems {
4810- get { return DockServices.ItemsService.DockItems; }
4811- }
4812-
4813- AbstractDockItem CurrentDockItem {
4814- get {
4815- int index = PositionProvider.IndexAtPosition (Cursor);
4816- if (index >= 0 && index < DockItems.Count)
4817- return DockItems [index];
4818- return null;
4819- }
4820- }
4821-
4822- TimeSpan SummonTime {
4823- get { return DockPreferences.SummonTime; }
4824- }
4825-
4826- bool WindowIntersectingOther {
4827- get { return AutohideTracker.WindowIntersectingOther; }
4828- }
4829-
4830- IEnumerable<Gdk.Window> WindowStack {
4831- get {
4832- try {
4833- return Screen.WindowStack;
4834- } catch {
4835- try {
4836- return Wnck.Screen.Default.WindowsStacked.Select (wnk => Gdk.Window.ForeignNew ((uint) wnk.Xid));
4837- } catch {
4838- return null;
4839- }
4840- }
4841- }
4842- }
4843-
4844- public DockArea (DockWindow window) : base ()
4845- {
4846- drawing_service = new DrawingService (this);
4847- DockServices.RegisterService (drawing_service);
4848-
4849- this.window = window;
4850-
4851- ScreenUtils.Initialize ();
4852- WindowUtils.Initialize ();
4853-
4854- AnimationState = new DockAnimationState ();
4855- AutohideTracker = new AutohideTracker (this);
4856- CursorTracker = new CursorTracker (window, OffDockWakeupTime);
4857- PositionProvider = new ItemPositionProvider (this);
4858- DnDTracker = new DnDTracker (this, PositionProvider, CursorTracker);
4859- PopupMenu = new DockItemMenu ();
4860-
4861- BuildAnimationStateEngine ();
4862-
4863- this.SetCompositeColormap ();
4864-
4865- AddEvents ((int) EventMask.ButtonPressMask |
4866- (int) EventMask.ButtonReleaseMask |
4867- (int) EventMask.ScrollMask |
4868- (int) EventMask.FocusChangeMask);
4869-
4870- SetSize ();
4871- DoubleBuffered = false;
4872-
4873- BuildRendering ();
4874-
4875- RegisterEvents ();
4876-
4877- ResetCursorTimer ();
4878- }
4879-
4880- void SetSize ()
4881- {
4882- Gdk.Rectangle geo;
4883- geo = LayoutUtils.MonitorGeometry ();
4884-
4885- Width = geo.Width;
4886- Height = DockPreferences.FullIconSize + 2 * PositionProvider.VerticalBuffer + UrgentBounceHeight;
4887- Height = Math.Max (150, Height);
4888-
4889- SetSizeRequest (Width, Height);
4890- }
4891-
4892- void RegisterEvents ()
4893- {
4894- DockServices.ItemsService.DockItemsChanged += OnDockItemsChanged;
4895- DockServices.ItemsService.ItemNeedsUpdate += HandleItemNeedsUpdate;
4896-
4897- DockPreferences.MonitorChanged += HandleMonitorChanged;
4898- DockPreferences.IconSizeChanged += HandleIconSizeChanged;
4899- DockPreferences.OrientationChanged += HandleOrientationChanged;
4900-
4901- DockServices.PainterService.PainterShowRequest += HandlePainterShowRequest;
4902- DockServices.PainterService.PainterHideRequest += HandlePainterHideRequest;
4903-
4904- Screen.SizeChanged += HandleSizeChanged;
4905-
4906- PopupMenu.Hidden += OnDockItemMenuHidden;
4907- PopupMenu.Shown += OnDockItemMenuShown;
4908-
4909- Services.Core.UniverseInitialized += HandleUniverseInitialized;
4910-
4911- Realized += (o, e) => SetParentInputMask ();
4912- Realized += (o, a) => GdkWindow.SetBackPixmap (null, false);
4913-
4914- AutohideTracker.IntersectionChanged += HandleIntersectionChanged;
4915- Wnck.Screen.Default.ActiveWindowChanged += HandleActiveWindowChanged;
4916-
4917- CursorTracker.CursorUpdated += HandleCursorUpdated;
4918-
4919- DnDTracker.DragEnded += HandleDragEnded;
4920- DnDTracker.DrawRequired += HandleDrawRequired;
4921-
4922- window.KeyPressEvent += HandleKeyPressEvent;
4923-
4924- StyleSet += (o, a) => {
4925- if (IsRealized)
4926- GdkWindow.SetBackPixmap (null, false);
4927- };
4928- }
4929-
4930- void UnregisterEvents ()
4931- {
4932- DockServices.ItemsService.DockItemsChanged -= OnDockItemsChanged;
4933- DockServices.ItemsService.ItemNeedsUpdate -= HandleItemNeedsUpdate;
4934-
4935- DockPreferences.MonitorChanged -= HandleMonitorChanged;
4936- DockPreferences.IconSizeChanged -= HandleIconSizeChanged;
4937- DockPreferences.OrientationChanged -= HandleOrientationChanged;
4938-
4939- DockServices.PainterService.PainterShowRequest -= HandlePainterShowRequest;
4940- DockServices.PainterService.PainterHideRequest -= HandlePainterHideRequest;
4941-
4942- Screen.SizeChanged -= HandleSizeChanged;
4943-
4944- PopupMenu.Hidden -= OnDockItemMenuHidden;
4945- PopupMenu.Shown -= OnDockItemMenuShown;
4946-
4947- Services.Core.UniverseInitialized -= HandleUniverseInitialized;
4948-
4949- AutohideTracker.IntersectionChanged -= HandleIntersectionChanged;
4950- Wnck.Screen.Default.ActiveWindowChanged -= HandleActiveWindowChanged;
4951-
4952- CursorTracker.CursorUpdated -= HandleCursorUpdated;
4953-
4954- DnDTracker.DragEnded -= HandleDragEnded;
4955- DnDTracker.DrawRequired -= HandleDrawRequired;
4956-
4957- window.KeyPressEvent -= HandleKeyPressEvent;
4958- }
4959-
4960- void BuildAnimationStateEngine ()
4961- {
4962- AnimationState.AddCondition (Animations.IconInsert,
4963- () => DockItems.Any (di => di.TimeSinceAdd < InsertAnimationTime));
4964-
4965- AnimationState.AddCondition (Animations.Zoom,
4966- () => (CursorIsOverDockArea && ZoomIn != 1) || (!CursorIsOverDockArea && ZoomIn != 0));
4967-
4968- AnimationState.AddCondition (Animations.Open,
4969- () => DateTime.UtcNow - enter_time < BaseAnimationTime ||
4970- DateTime.UtcNow - interface_change_time < BaseAnimationTime);
4971-
4972- AnimationState.AddCondition (Animations.Bounce,
4973- () => DockItems.Any (di => di.TimeSinceClick <= BounceTime));
4974-
4975- AnimationState.AddCondition (Animations.UrgencyChanged,
4976- () => DockItems.Any (di => DateTime.UtcNow - di.AttentionRequestStartTime < BounceTime));
4977-
4978- AnimationState.AddCondition (Animations.InputModeChanged,
4979- () => DateTime.UtcNow - interface_change_time < SummonTime ||
4980- DateTime.UtcNow - showhide_time < SummonTime);
4981- }
4982-
4983- void HandleKeyPressEvent (Gdk.EventKey key)
4984- {
4985- KeyBinding clearKeyBinding = Services.Keybinder.Bindings.Where(p => p.Description == Mono.Unix.Catalog.GetString ("Clear")).FirstOrDefault();
4986- if (PainterOverlayVisible &&
4987- clearKeyBinding != null && Services.Keybinder.KeyEventToString (key) == clearKeyBinding.KeyString)
4988- InterruptPainter ();
4989- }
4990-
4991- void HandleCursorUpdated (object sender, CursorUpdatedArgs args)
4992- {
4993- if (PopupMenu.Visible)
4994- return;
4995-
4996- UpdateCursorIsOverDockArea ();
4997-
4998- bool cursorMoveWarrantsDraw = CursorIsOverDockArea && args.OldCursor.X != args.NewCursor.X;
4999-
5000- if (DnDTracker.DragResizing || cursorMoveWarrantsDraw)
The diff has been truncated for viewing.