ReactOS "Lean Explorer"

Moderators: gabrielilardi, forart, Davy Bartoloni

User avatar
Davy Bartoloni
Posts: 1485
Joined: Wed Jan 04, 2006 11:31 pm
Location: Cuneo
Contact:

Re: ReactOS "Lean Explorer"

Post by Davy Bartoloni »

Dax89 wrote: Per l'ordinamento delle icone, ho controllato, nella lean non c'è niente. :(
umhh.. pero' sn disposte in orizzontale cmq sul desktop.. quindi la cosa e' forse slegata dai 200 ordinamenti.. e da parametri predefiniti... cioe' alla fine quella parte non e' stata completata sul ros-explorer.... e quindi forse funziona COME SUL LEAN... (ecco perche modificando i valori nn cambia una fava )
Dax89
Posts: 84
Joined: Mon May 12, 2008 6:26 pm
Location: Provincia di Nuoro
Contact:

Re: ReactOS "Lean Explorer"

Post by Dax89 »

Questo può essere utile?? :D
Sembra che questa funzione si occupi del posizionamento delle icone sul desktop.

http://doxygen.reactos.org/d9/dde/struc ... 25802692ac
User avatar
Davy Bartoloni
Posts: 1485
Joined: Wed Jan 04, 2006 11:31 pm
Location: Cuneo
Contact:

Re: ReactOS "Lean Explorer"

Post by Davy Bartoloni »

:( ... gia provato.. sigh
nulla .. che odioooo
Dax89
Posts: 84
Joined: Mon May 12, 2008 6:26 pm
Location: Provincia di Nuoro
Contact:

Re: ReactOS "Lean Explorer"

Post by Dax89 »

Finalmente!!
Ci sono riuscito!! :mrgreen:

[ external image ]

Ho riscritto la funzione PositionIcons:

Code: Select all

void DesktopShellView::PositionIcons(int placement)
{
    RECT work_area;
	DWORD spacing = ListView_GetItemSpacing(_hwndListView, FALSE);
	SystemParametersInfo(SPI_GETWORKAREA, 0, &work_area, 0);
    int allItems = ListView_GetItemCount(_hwndListView);

	int horzSpacing = LOWORD(spacing);
	int vertSpacing = HIWORD(spacing);

	int xPos = horzSpacing;
	int yPos = vertSpacing;

	for(int i = 0; i < allItems; i++)
	{
		if(placement == ARRANGE_VERTICAL)
		{
		    ListView_SetItemPosition32(_hwndListView, i, xPos, yPos);
		    yPos += vertSpacing;
		}
		else
		{
                   ///TODO: Posizionamento Orizzontale.
		}
	}
}
Al momento non tiene conto dell'altezza del desktop e non ho implementato il posizionamento in orizzontale.
Ora ci sono solo 2 flag ARRANGE_HORIZONTAL ed ARRANGE_VERTICAL, vengono passati alla funzione.

Viene chiamata quando arriva il messaggio di notifica LVN_INSERTITEM, quindi:

Code: Select all

int DesktopShellView::Notify(int id, NMHDR* pnmh)
{
    switch(pnmh->code)
    {
        case LVN_INSERTITEM:
            PositionIcons(ARRANGE_VERTICAL);
            break;

        default:
            return super::Notify(id, pnmh);
    }

	return 0;
}
Ho eliminato tutte le vecchie variabili/array che ridimensionavano nella vecchia maniera.

Comunque le icone rimanevano bloccate perchè c'era LVS_ALIGNMASK:
(File: desktop.cpp in: DesktopShellView::DesktopShellView(HWND hwnd, IShellView* pShellView))

Code: Select all

SetWindowStyle(_hwndListView, GetWindowStyle(_hwndListView) | LVS_ALIGNMASK);
ora invece:

Code: Select all

SetWindowStyle(_hwndListView, GetWindowStyle(_hwndListView));
User avatar
Davy Bartoloni
Posts: 1485
Joined: Wed Jan 04, 2006 11:31 pm
Location: Cuneo
Contact:

Re: ReactOS "Lean Explorer"

Post by Davy Bartoloni »

Grande DAX!
Dax89
Posts: 84
Joined: Mon May 12, 2008 6:26 pm
Location: Provincia di Nuoro
Contact:

Re: ReactOS "Lean Explorer"

Post by Dax89 »

Può essere implementato facilmente anche nell'explorer standard.
Comunque penso sia sufficiente togliere quel flag :D

Io lo scoperto dopo che ho riscritto la funzione (vabbè almeno ora capisco cosa fa, prima non si capiva nulla :| )

Bisogna fare in modo che, quando si spegne ReactOS vengano salvate le posizioni di tutte le icone, così all'avvio le mette com'erano.
Se non erro la shell salva le configurazioni.

Comunque non c'è paragone, la shell lean è decisamente più facile da capire :mrgreen:
Dax89
Posts: 84
Joined: Mon May 12, 2008 6:26 pm
Location: Provincia di Nuoro
Contact:

Re: ReactOS "Lean Explorer"

Post by Dax89 »

Ho avuto un paio di orette libere e ho sistemato la Taskbar, ora è un po' più accattivante, mi manca l'avvio rapido ed il menu start:

[ external image ]
User avatar
Davy Bartoloni
Posts: 1485
Joined: Wed Jan 04, 2006 11:31 pm
Location: Cuneo
Contact:

Re: ReactOS "Lean Explorer"

Post by Davy Bartoloni »

senza parole... Grandioso!, posta un link al binario!!! lo devo testare immediatamente!!! :) ( e mi raccomando devi scrivere DAX edition , o quello che vuoi nell' about! )
Dax89
Posts: 84
Joined: Mon May 12, 2008 6:26 pm
Location: Provincia di Nuoro
Contact:

Re: ReactOS "Lean Explorer"

Post by Dax89 »

Binari:
ExplorerBin.rar

Sorgenti:
ExplorerSrc.rar

Spero nel fine settimana di risolvere quei bug della shell :D

Ah, per il menu start stavo pensando di farlo a 2 colonne, come su XP ed il logo di ReactOS in alto, cosa ne pensate??

L'about box ancora non lo toccato :mrgreen:
Rimane pur sempre una cosa non mia ^^
User avatar
Davy Bartoloni
Posts: 1485
Joined: Wed Jan 04, 2006 11:31 pm
Location: Cuneo
Contact:

Re: ReactOS "Lean Explorer"

Post by Davy Bartoloni »

l'idea iniziale dell' explorer_new era quella del menu doppia colonna :) o almeno cosi' avevo letto da qualche parte.
Dax89
Posts: 84
Joined: Mon May 12, 2008 6:26 pm
Location: Provincia di Nuoro
Contact:

Re: ReactOS "Lean Explorer"

Post by Dax89 »

E noi li anticipiamo :mrgreen:
Poi se viene fuori una cosa carina lo faccio anche nell'explorer standard.

Giusto per dare un aspetto più fresco a ReactOS
User avatar
Davy Bartoloni
Posts: 1485
Joined: Wed Jan 04, 2006 11:31 pm
Location: Cuneo
Contact:

Themed DAX explorer

Post by Davy Bartoloni »

[ external image ]
eccolo themato, purtroppo questo tema, che normalmente e' uno dei pochissimi che non lascia buchi nelle finestre.. (o alemnopochi ) prob per le dimensioni "ingrandite" dei "pulsanti" della taskbar lascia "intravedere" un po' di sfondo azzurro...

Ho visto che il desktop viene ridisegnato un po' a "pezzi" (se c'e' un bitmap ) ed ogni tanto e' necessario un refresh, cmq la tua dimestichezza con questa componente sale di giorno in giorno, complimenti!,

P.s. ho visto cmq che il lean nn supporta i caratteri unicode.. o perlomeno in alcuni caption. talvolta si vedono i quadratini cm sulle versioni giapponesi coreane e cinesi con il ROS explorer starndard.

[edit]... sticazz.. leggevo sta cosa.. mamma se e' imbestialito alex :)
http://www.reactos.org/archives/public/ ... 11689.html
Dax89
Posts: 84
Joined: Mon May 12, 2008 6:26 pm
Location: Provincia di Nuoro
Contact:

Re: ReactOS "Lean Explorer"

Post by Dax89 »

Sì la parte dei desktop multipli fa un po' i capricci, sto pensando di riscriverla direttamente (in realtà avvio rapido e desktop multipli sono un unica toolbar, quella dell'avvio rapido) ,

Sto pensando di fare anche 4 desktop multipli (rieccoli!!) in stile:

1 2
3 4

Pulsanti più piccoli, meno ingombranti e meno buchi sulla taskbar :lol:

Per i caratteri "strani" se vengono fuori dall'address bar è normale, devo capire come ricavare il path di una "ShellDirectory", se no se sono problemi di visualizzazione generali si può sbirciare nella shell standard e vedere di aggiungere i pezzi mancanti :D

Edit: Il tema mi ha fatto notare che non ho centrato bene le icone :mrgreen:
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

Re: ReactOS "Lean Explorer"

Post by vicmarcal »

Hi! sorry about talking in English! Good work. Physicus rewrote the sysparams win32k code. It helps to solve more than 230 bugs and pass 450 extra tests. I tell you that because sysparams controls: wide,size,position,colour of the windows,taskbar,etc. So these improvements maybe can be helpful for you.
Keep improving the explorer: I like too much these two latest screenshots.
User avatar
Davy Bartoloni
Posts: 1485
Joined: Wed Jan 04, 2006 11:31 pm
Location: Cuneo
Contact:

Re: ReactOS "Lean Explorer"

Post by Davy Bartoloni »

hi Vic!
have you the commit n#-of the sysparams rewrite?
i search Physicus and ThePhysicist on Cia commits.. but...
Keep improving the explorer: I like too much these two latest screenshots.
i think Dax will be a future developer/patcher for ReactOS :)
Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests