summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorAndras Timar <atimar@suse.com>2011-12-04 14:50:37 +0100
committerAndras Timar <atimar@suse.com>2011-12-04 14:50:37 +0100
commit6411ad12f2dac9525f720662692cf712801f8c5b (patch)
tree9bf7890dc15d631fbe79a35f863bde333145c620 /desktop
parent3ac61e97198354439ceac8969277585cb8d4cb18 (diff)
code cleanup of Windows quickstarter
Diffstat (limited to 'desktop')
-rw-r--r--desktop/win32/source/QuickStart/QuickStart.cxx353
-rw-r--r--desktop/win32/source/QuickStart/QuickStart.rc127
-rw-r--r--desktop/win32/source/QuickStart/resource.h32
3 files changed, 1 insertions, 511 deletions
diff --git a/desktop/win32/source/QuickStart/QuickStart.cxx b/desktop/win32/source/QuickStart/QuickStart.cxx
index 26276ba71ee4..b3e19a555a05 100644
--- a/desktop/win32/source/QuickStart/QuickStart.cxx
+++ b/desktop/win32/source/QuickStart/QuickStart.cxx
@@ -7,37 +7,10 @@
#include <systools/win32/uwinapi.h>
#include <stdio.h>
-#define MY_TASKBAR_NOTIFICATION WM_USER+1
-
-#define MAX_LOADSTRING 100
-
// message used to communicate with soffice
-#define TERMINATIONVETO_MESSAGE "SO TerminationVeto"
-#define TERMINATE_MESSAGE "SO Terminate"
#define LISTENER_WINDOWCLASS "SO Listener Class"
#define KILLTRAY_MESSAGE "SO KillTray"
-static UINT aTerminationVetoMessage = 0x7FFF;
-static UINT aTerminateMessage = 0x7FFF;
-static HMENU popupMenu = NULL;
-static bool bTerminateVeto = true;
-
-#define UPDATE_TIMER 1
-
-// Global Variables:
-HINSTANCE hInst; // current instance
-TCHAR szTitle[MAX_LOADSTRING]; // The title bar text
-TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text
-
-TCHAR szExitString[MAX_LOADSTRING];
-TCHAR szTooltipString[MAX_LOADSTRING];
-
-// Foward declarations of functions included in this code module:
-ATOM MyRegisterClass(HINSTANCE hInstance);
-BOOL InitInstance(HINSTANCE, int);
-LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
-LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM);
-
bool SofficeRuns()
{
// check for soffice by searching the communication window
@@ -66,58 +39,13 @@ bool launchSoffice( )
UINT ret = WinExec( imagename, SW_SHOW );
if ( ret < 32 )
return false;
-/*
- // wait until we can communicate
- int retry = 30;
- while (retry-- && !SofficeRuns() )
- Sleep(1000);
- return SofficeRuns();
- */
return true;
}
else
return true;
}
-void NotifyListener( HWND hWnd )
-{
- static HICON hIconActive=NULL;
- //static HICON hIconInActive=NULL;
-
- if( !hIconActive )
- {
- hIconActive = (HICON)LoadImage( GetModuleHandle( NULL ), MAKEINTRESOURCE( ICON_ACTIVE ),
- IMAGE_ICON, GetSystemMetrics( SM_CXSMICON ), GetSystemMetrics( SM_CYSMICON ),
- LR_DEFAULTCOLOR | LR_SHARED );
-
-/* hIconInActive = (HICON)LoadImage( GetModuleHandle( NULL ), MAKEINTRESOURCE( ICON_INACTIVE ),
- IMAGE_ICON, GetSystemMetrics( SM_CXSMICON ), GetSystemMetrics( SM_CYSMICON ),
- LR_DEFAULTCOLOR | LR_SHARED );
- */
- }
-
- NOTIFYICONDATA nid;
- nid.cbSize = sizeof(NOTIFYICONDATA);
- nid.hWnd = hWnd;
- nid.uID = IDM_QUICKSTART;
- nid.szTip[SAL_N_ELEMENTS(nid.szTip) - 1] = 0;
-// nid.hIcon = bTerminateVeto ? hIconActive : hIconInActive;
-// strncpy(nid.szTip, bTerminateVeto ? STRING_QUICKSTARTACTIVE : STRING_QUICKSTARTINACTIVE, SAL_N_ELEMENTS(nid.szTip) - 1 );
- nid.hIcon = hIconActive;
- strncpy(nid.szTip, szTooltipString, SAL_N_ELEMENTS(nid.szTip) - 1);
- nid.uFlags = NIF_TIP|NIF_ICON;
-
- // update systray
- Shell_NotifyIcon( NIM_MODIFY, &nid );
- //CheckMenuItem( popupMenu, IDM_QUICKSTART, bTerminateVeto ? MF_CHECKED : MF_UNCHECKED );
-
- // notify listener
- SendMessage( HWND_BROADCAST, aTerminationVetoMessage, (WORD) bTerminateVeto, 0L );
-}
-
-
-
int APIENTRY WinMain(HINSTANCE /*hInstance*/,
HINSTANCE /*hPrevInstance*/,
LPSTR /*lpCmdLine*/,
@@ -143,287 +71,6 @@ int APIENTRY WinMain(HINSTANCE /*hInstance*/,
launchSoffice();
return 0;
-
-#if 0 // Note unconditional "return 0" above. Do not remove this block of code
- // unless you are sure it will never be needed even for reference.
-
- // TODO: Place code here.
- MSG msg;
- HACCEL hAccelTable;
- aTerminationVetoMessage = RegisterWindowMessage( TERMINATIONVETO_MESSAGE );
- aTerminateMessage = RegisterWindowMessage( TERMINATE_MESSAGE );
-
- // Initialize global strings
- LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
- LoadString(hInstance, IDC_QUICKSTART, szWindowClass, MAX_LOADSTRING);
-
- LoadString(hInstance, IDS_EXIT, szExitString, MAX_LOADSTRING);
- LoadString(hInstance, IDS_TOOLTIP, szTooltipString, MAX_LOADSTRING);
-
- MyRegisterClass(hInstance);
-
- // Perform application initialization:
- if (!InitInstance (hInstance, nCmdShow))
- {
- return FALSE;
- }
-
- hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_QUICKSTART);
-
- // Main message loop:
- while (GetMessage(&msg, NULL, 0, 0))
- {
- if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- }
-
- return msg.wParam;
-#endif
-}
-
-
-
-//
-// FUNCTION: MyRegisterClass()
-//
-// PURPOSE: Registers the window class.
-//
-// COMMENTS:
-//
-// This function and its usage is only necessary if you want this code
-// to be compatible with Win32 systems prior to the 'RegisterClassEx'
-// function that was added to Windows 95. It is important to call this function
-// so that the application will get 'well formed' small icons associated
-// with it.
-//
-ATOM MyRegisterClass(HINSTANCE hInstance)
-{
- WNDCLASSEX wcex;
-
- wcex.cbSize = sizeof(WNDCLASSEX);
-
- wcex.style = CS_HREDRAW | CS_VREDRAW;
- wcex.lpfnWndProc = (WNDPROC)WndProc;
- wcex.cbClsExtra = 0;
- wcex.cbWndExtra = 0;
- wcex.hInstance = hInstance;
- wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_QUICKSTART);
- wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
- wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
- wcex.lpszMenuName = NULL;
- wcex.lpszClassName = szWindowClass;
- wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL);
-
- return RegisterClassEx(&wcex);
-}
-
-//
-// FUNCTION: InitInstance(HANDLE, int)
-//
-// PURPOSE: Saves instance handle and creates main window
-//
-// COMMENTS:
-//
-// In this function, we save the instance handle in a global variable and
-// create and display the main program window.
-//
-BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
-{
- HWND hWnd;
-
- hInst = hInstance; // Store instance handle in our global variable
-
- hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
-
- if (!hWnd)
- {
- return FALSE;
- }
-
- nCmdShow = SW_HIDE; // hide main window, we only need the taskbar icon
- ShowWindow(hWnd, nCmdShow);
- UpdateWindow(hWnd);
-
- return TRUE;
-}
-
-//
-// FUNCTION: WndProc(HWND, unsigned, WORD, LONG)
-//
-// PURPOSE: Processes messages for the main window.
-//
-// WM_COMMAND - process the application menu
-// WM_PAINT - Paint the main window
-// WM_DESTROY - post a quit message and return
-//
-//
-LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
-{
- switch (message)
- {
- case WM_CREATE:
- {
- // make sure soffice runs
- if( !launchSoffice() )
- return -1;
-
- // create popup menu
- popupMenu = CreatePopupMenu();
- static int count=0;
-
- // Add my items
- MENUITEMINFO mi;
- mi.cbSize = sizeof(MENUITEMINFO);
- mi.fMask=MIIM_TYPE|MIIM_STATE|MIIM_ID;
- mi.fType=MFT_STRING;
- mi.fState=MFS_ENABLED|MFS_DEFAULT;
- mi.wID = IDM_QUICKSTART;
- mi.hSubMenu=NULL;
- mi.hbmpChecked=NULL;
- mi.hbmpUnchecked=NULL;
- mi.dwItemData=NULL;
- mi.dwTypeData = "QuickStart";
- mi.cch = strlen(mi.dwTypeData);
-// InsertMenuItem(popupMenu, count++, TRUE, &mi);
-
- mi.cbSize = sizeof(MENUITEMINFO);
- mi.fMask=MIIM_TYPE|MIIM_STATE|MIIM_ID;
- mi.fType=MFT_STRING;
- mi.fState=MFS_ENABLED;
- mi.wID = IDM_ABOUT;
- mi.hSubMenu=NULL;
- mi.hbmpChecked=NULL;
- mi.hbmpUnchecked=NULL;
- mi.dwItemData=NULL;
- mi.dwTypeData = "Info...";
- mi.cch = strlen(mi.dwTypeData);
-// InsertMenuItem(popupMenu, count++, TRUE, &mi);
-
- mi.cbSize = sizeof(MENUITEMINFO);
- mi.fMask=MIIM_TYPE;
- mi.fType=MFT_SEPARATOR;
- mi.hSubMenu=NULL;
- mi.hbmpChecked=NULL;
- mi.hbmpUnchecked=NULL;
- mi.dwItemData=NULL;
-// InsertMenuItem(popupMenu, count++, TRUE, &mi);
-
- mi.cbSize = sizeof(MENUITEMINFO);
- mi.fMask=MIIM_TYPE|MIIM_STATE|MIIM_ID;
- mi.fType=MFT_STRING;
- mi.fState=MFS_ENABLED;
- mi.wID = IDM_EXIT;
- mi.hSubMenu=NULL;
- mi.hbmpChecked=NULL;
- mi.hbmpUnchecked=NULL;
- mi.dwItemData=NULL;
- mi.dwTypeData = szExitString;
- mi.cch = strlen(mi.dwTypeData);
- InsertMenuItem(popupMenu, count++, TRUE, &mi);
-
- // add taskbar icon
- NOTIFYICONDATA nid;
- nid.cbSize = sizeof(NOTIFYICONDATA);
- nid.hWnd = hWnd;
- nid.uID = IDM_QUICKSTART;
- nid.uFlags = NIF_MESSAGE;
- nid.uCallbackMessage=MY_TASKBAR_NOTIFICATION;
- Shell_NotifyIcon(NIM_ADD, &nid);
-
- // and update state
- NotifyListener( hWnd );
-
- // check for soffice
- SetTimer(hWnd, UPDATE_TIMER, 3000, NULL);
- }
- break;
-
- case MY_TASKBAR_NOTIFICATION: // message from taskbar
- switch(lParam)
- {
-/*
- case WM_LBUTTONDBLCLK:
- bTerminateVeto = bTerminateVeto ? false : true;
- NotifyListener( hWnd );
- break;
- */
-
- case WM_LBUTTONDOWN:
- case WM_RBUTTONDOWN:
- {
- POINT pt;
- GetCursorPos(&pt);
- SetForegroundWindow( hWnd );
- int m = TrackPopupMenuEx(popupMenu, TPM_RETURNCMD|TPM_LEFTALIGN|TPM_RIGHTBUTTON,
- pt.x, pt.y, hWnd, NULL);
- // BUGFIX: See Q135788 (PRB: Menus for Notification Icons Don't Work Correctly)
- PostMessage(hWnd, NULL, 0, 0);
- switch(m)
- {
- case IDM_QUICKSTART:
- bTerminateVeto = bTerminateVeto ? false : true;
- NotifyListener( hWnd );
- break;
- case IDM_ABOUT:
- DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
- break;
- case IDM_EXIT:
- DestroyWindow(hWnd);
- break;
- }
- }
- break;
- }
- break;
-
- case WM_TIMER:
- if( wParam == UPDATE_TIMER )
- {
- // update state
- NotifyListener( hWnd );
- }
- break;
-
- case WM_DESTROY:
- // try to terminate office
- SendMessage( HWND_BROADCAST, aTerminateMessage, 0, 0L );
-
- // delete taskbar icon
- NOTIFYICONDATA nid;
- nid.cbSize=sizeof(NOTIFYICONDATA);
- nid.hWnd = hWnd;
- nid.uID = IDM_QUICKSTART;
- Shell_NotifyIcon(NIM_DELETE, &nid);
-
- PostQuitMessage(0);
- break;
- default:
- return DefWindowProc(hWnd, message, wParam, lParam);
- }
- return 0;
-}
-
-// Mesage handler for about box.
-LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM)
-{
- switch (message)
- {
- case WM_INITDIALOG:
- return TRUE;
-
- case WM_COMMAND:
- if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
- {
- EndDialog(hDlg, LOWORD(wParam));
- return TRUE;
- }
- break;
- }
- return FALSE;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/desktop/win32/source/QuickStart/QuickStart.rc b/desktop/win32/source/QuickStart/QuickStart.rc
index 2fdfa7d1357c..7c2819eda349 100644
--- a/desktop/win32/source/QuickStart/QuickStart.rc
+++ b/desktop/win32/source/QuickStart/QuickStart.rc
@@ -1,130 +1,3 @@
-//Microsoft Developer Studio generated resource script.
-//
#include "resource.h"
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#define APSTUDIO_HIDDEN_SYMBOLS
-#include "windows.h"
-#undef APSTUDIO_HIDDEN_SYMBOLS
-#include "resource.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// German (Germany) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
-#ifdef _WIN32
-LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
ICON_ACTIVE ICON DISCARDABLE "icons/main_app.ico"
-IDI_QUICKSTART ICON DISCARDABLE "icons/main_app.ico"
-IDI_SMALL ICON DISCARDABLE "icons/main_app.ico"
-ICON_INACTIVE ICON DISCARDABLE "icons/main_app.ico"
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Accelerator
-//
-
-IDC_QUICKSTART ACCELERATORS MOVEABLE PURE
-BEGIN
- "?", IDM_ABOUT, ASCII, ALT
- "/", IDM_ABOUT, ASCII, ALT
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_ABOUTBOX DIALOG DISCARDABLE 22, 17, 230, 75
-STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
-CAPTION "About"
-FONT 8, "System"
-BEGIN
- ICON IDI_QUICKSTART,IDC_MYICON,14,9,16,16
- LTEXT "QuickStart Version 1.0",IDC_STATIC,49,10,119,8,
- SS_NOPREFIX
- LTEXT "Copyright (C) 2001",IDC_STATIC,49,20,119,8
- DEFPUSHBUTTON "OK",IDOK,195,6,30,11,WS_GROUP
-END
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-2 TEXTINCLUDE DISCARDABLE
-BEGIN
- "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "#include ""windows.h""\r\n"
- "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "#include ""resource.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE
-BEGIN
- "\r\n"
- "\0"
-END
-
-1 TEXTINCLUDE DISCARDABLE
-BEGIN
- "resource.h\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_APP_TITLE "SoQuickStart"
- IDC_QUICKSTART "QUICKSTART"
- IDS_TOOLTIP "StarOffice 6.0 QuickStart"
-END
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_EXIT "Exit"
-END
-
-#endif // German (Germany) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/desktop/win32/source/QuickStart/resource.h b/desktop/win32/source/QuickStart/resource.h
index dc4a70ab5193..3dfbabcd899d 100644
--- a/desktop/win32/source/QuickStart/resource.h
+++ b/desktop/win32/source/QuickStart/resource.h
@@ -1,35 +1,5 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by QUICKSTART.RC
-//
-#define IDR_MAINFRAME 128
-#define IDD_QUICKSTART_DIALOG 102
-#define IDD_ABOUTBOX 103
-#define IDS_APP_TITLE 103
-#define IDM_ABOUT 104
-#define IDM_EXIT 105
-#define IDS_HELLO 106
-#define IDI_QUICKSTART 107
-#define IDI_SMALL 108
-#define IDC_QUICKSTART 109
-#define IDM_QUICKSTART 110
-#define IDS_TOOLTIP 111
-#define IDS_EXIT 112
-#define ICON_ACTIVE 1
-#define ICON_INACTIVE 2
-#define IDC_MYICON 3
-#define IDC_STATIC -1
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 129
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 113
-#endif
-#endif
+#define ICON_ACTIVE 1
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */