Avedesk1.1 Design Questions

Originally posted by kikuchiyo@Feb 14 2004, 09:14 PM

I'm not sure if I don't see itin 1.0 or if it isn't present, but I'd like an option that keeps AveDesk on the desktop even if I press the "Show Desktop" link - so the icons would stay, like normal windows desktop icons.

that's already done :P

set in the "appearence" tab, style: desktop icon

:)

Herd, that's right didn't tought of chinese people writing from top to bottom :) great idea!!

Delaying your desklet... arf!!! that's frustrating!!! (maybe can i test it :P, i got all the stuff :P)

cya

#114663

Congratulations - you and AveDesk have been mentioned in the german c't magazine issue 4/2004 on page 71, together with Object Dock and Serious Samurize.

If there was knighthood for developers, you certainly made it there.

WOA! :woot:

To the label rotation:

I would even improve it - think of the japanese and chinese who may prefer to write their ideographs from top to bottom of the label, so rotating the characters as in excel should be an option, too. As unicode goes without saying, the labels should be right to left aware also. Under 2000 and XP, you can actually read far east characters from Unicode INI files with no problem, provided you have defined UNICODE or use GetPrivateProfileStringW() explicitly.

Sounds like a good idea. I was extending the labels possibilites anyway :)

You are providing real stuff - I have delayed my Scriptable Multimeter docklet until 1.1 - I really want to see my theme selection dialog in AveDesks Property Sheet!

The Property Sheets. Ah. I still need to work on that. I don't want to break with exsisting code, so I probably use the LPARAM of the current struct.

Also, if you can provide some pointers on how to use the PropertySheet() I will be thankfull ;).

#114673

Originally posted by AndreasV@Feb 15 2004, 02:41 PM

The Property Sheets. Ah. I still need to work on that. I don't want to break with exsisting code, so I probably use the LPARAM of the current struct.

Also, if you can provide some pointers on how to use the PropertySheet() I will be thankfull ;).

Sure:

The Desklet may provide the following function:

 
int OnAddPropertySheets(
 void * Desklet, /// the usual this pointer
 LPARAM lParam, /// _your_ this pointer or desklet wrapper class pointer
 int numPresent /// how many sheets are there already?
);

before calling OnAdd..., clear the buffer for a PROPSHEETHEADER structure,

add your own sheets at will.

std::vector<HPROPSHEETPAGE> m_Sheets;
m_Sheets.clear();
m_Sheets.push_back(hApperance);
m_Sheets.push_back(hLabel);
m_Sheets.push_back(hAdvanced);
Desklet->OnAddPropertySheets(pDesklet, m_Sheets.size());

Inside OnAdd..., the desklet will do the following:

PROPSHEETPAGE psp = {0}:
psp.dwSize = sizeof(psp);
psp.dwFlags = PSP_USETITLE|PSP_USECALLBACK;
psp.hInstance = m_hInstance;
psp.pszCaption = m_Caption;
psp.pfnDlgProc = PageDlgProc; // user defined - allow creation
psp.pfnCallback = PropSheetPageProc; // user defined - buttons etc.
psp.lParam = (LPARAM)this; // if it is a class

HPROPSHEETPAGE hpg = CreatePropSheetPage(&psp);

if( hpg )
 return DeskletAddPropertySheet(hpg, lParam);
else
 return E_FAIL;

Add a new API function and name it

int DeskletAddPropertySheet(HPROPSHEETPAGE hpg, LPARAM lParam).

In this function which may be called zero to many times, add all the

parameters to a vector or buffer.

CDeskletWrapper ths = (CDeskletWrapper*)lParam;
ths->m_Sheets.push_back(hpg);

After the desklet returns from the OnAdd..., do this:

PROPSHEETHEADER hdr = {0};
hdr.dwSize = sizeof(HPROPSHEETHEADER);
hdr.dwFlags = PSH_DEFAULT;
hdr.nPages = m_Sheets.size();
hdr.phpage = &m_Sheets[0];

int iRet = PropertySheet(&hdr);

that's all for a modal Property sheet.

However, receiving the Apply, Cancel and OK buttons for the systems property sheet control, requires each sheet to implement a notification handler, see MSDN.

You can do culty things with these, e.g. get a window handle to the sheets Tab control and change your sheets tab title at ease.

I really would like to see this in 1.1, because I actually plan to hijack the time and date control panel applet and add it to my config - thankfully, these control panel applets call PropertySheet() for a modal one so I can easily SetWindowsHookEx on the call and dismantle their PROPSHEETHEADER structure, add it to my own call - however I can't forward the above struct to AveDesk until it understands HPROPSHEETPAGE handles...

#114686

I have no idea what the last post means - but looks impressive :smartass:

I love this app - but I do have alot of trouble getting the text/labels lined up where I want them... is it possible to include the option to locate the text (as we can do with the png's currently) using pixel location? this would also help with the rotation option which currently sends my text anywhere but where I want it.

Keep up the amazing work :D

#114884

hey andreas, something came to my mind:

* choose-your-own tray icon feature

would be cool.

(well, ya, not a real big thought, lol) ;)

hey, if u find some time... would it be possible to give us something like a status-report about how things are going on your side atm? (it´s not that easy to be patient by reading at every corner, that 1.1 will be cool)

thx

#119272

just reshack the tray icon Brainbug

#119274

^^^^^

i know, i know

asking do not hurt, eh? lol ;)

#119275

hey andreas, something came to my mind:

* choose-your-own tray icon feature

would be cool.

(well, ya, not a real big thought, lol)

Maybe I include it, maybe not. No promises. ;)

hey, if u find some time... would it be possible to give us something like a status-report about how things are going on your side atm? (it´s not that easy to be patient by reading at every corner, that 1.1 will be cool)

Current-status: Working application with bugs and glitches. Need to fix it them first. The quality-check must be done too first.

Just be patient and be ready for a huge update ;)

#119318

Having those Shorcuts inside a folder would be sweet, or creating a folder by AveDesk, perhaps for AveDesk 1.2 :P

#119320