Esempio n. 1
0
void FormPlaylist::titlelstMenu()
{
	tLMenu.clear();

	tLMenu.addAction( f1.ui.actionPlay );
	tLMenu.addSeparator();
	tLMenu.addAction( f1.ui.actionWyszukaj );
	tLMenu.addSeparator();
	tLMenu.addMenu( &menuPlistAct );
	tLMenu.addSeparator();

	QString selItms, wklejItms;
	if ( titlelist->selectedItems().count() )
		selItms = " -> " + QString::number( titlelist->selectedItems().count() ) + "	Ctrl+C";
	if ( clipboard->mimeData()->hasUrls() )
		wklejItms = " -> " + QString::number( clipboard->mimeData()->urls().count() ) + "	Ctrl+V";
	else if ( clipboard->mimeData()->hasText() )
		wklejItms = " -> " + QString::number( clipboard->mimeData()->text().count() ) + "	Ctrl+V";
	tLMenu.addAction( Texts[57] /* Kopiuj */ + selItms,&fp,SLOT(kopiuj()));
	tLMenu.addAction( Texts[60] /* Wklej */ + wklejItms,&fp,SLOT(wklej()));
	tLMenu.addSeparator();

	tLMenu.addAction( f1.ui.actionZaznacz );
	tLMenu.addAction( f1.ui.actionOdznacz );
	tLMenu.addSeparator();

	tLMenu.addMenu( &menuAdd );
	tLMenu.addAction( f1.ui.delWpisyA );
	tLMenu.addSeparator();

	tLMenu.addMenu( f1.ui.menuSortuj );
	tLMenu.addSeparator();

	tLMenu.addAction( f1.ui.actionClrplist );
	tLMenu.addSeparator();

	tLMenu.addAction( f1.ui.actionInformacje_2 );
	tLMenu.addSeparator();

	tLMenu.addAction( Texts[43] /** "Zapisz muzyke" */+ "	Ctrl+S" , &f1 , SLOT( savMus() ) );
	tLMenu.addAction( f1.ui.aWAV );
	tLMenu.addSeparator();

	tLMenu.addAction( Texts[45] /** "Zapisz playliste" */ + "	Ctrl+T", &fp , SLOT( zapiszB() ) );
	tLMenu.addAction( Texts[46] /** "Odczytaj playliste" */ + "	Ctrl+G", &fp , SLOT( odczytajB() ) );

	tLMenu.addSeparator();
	tLMenu.addAction( f1.ui.sizeA );
	tLMenu.addSeparator();

	InputPlugin *iplug = NULL;
	if ( Func.chkFNr( Func.nr() ) )
		iplug = Func.getMusicFormat( playList[1][Func.nr()], playList[2][Func.nr()] );
	if ( iplug && iplug->showOptions )
	{
		tLMenu.addAction( Texts[100] + ": " + (QString)iplug->pluginInfo->Name /*Plugin options*/ ,&fp,SLOT(pluginOptions()));
		tLMenu.addSeparator();
	}

	tLMenu.addAction( f1.ui.wlasciwosciA );

	tLMenu.popup( QCursor::pos() );
	fp.setTcr( Func.nr() );
}
Esempio n. 2
0
void ruchKursorOperacje(wezel *adresListy,unsigned int *kolumnaAdres,unsigned int *wierszAdres)// ruch kursora podczas operacji kopiuj wklej
{

    char znak,buf[ROZMIAR_BUF_KOPIOWANIA];
    unsigned int kolumna,wiersz,licznikKopiowaniaStartX=0,licznikKopiowaniaStartY=0;
    int znakSpec=0,flaga=1,flagaWartoscBuf=0,licznikKopiowania=0; //flaga -> pokazuje czy kursor zostal zablokowany:0/nie zablokowany: 1
    char z=219;//przypisanie kodu ASCII całej zamalowanej komórki konsoli
    CONSOLE_CURSOR_INFO ci;//urywanie kursora
    HANDLE hC=GetStdHandle(STD_OUTPUT_HANDLE);
    GetConsoleCursorInfo(hC, &ci);
    ci.bVisible=1;//wyswietlenie kurosra
    SetConsoleCursorInfo(hC, &ci);
    OpcjeWOperacjach();
    wypiszTekst(adresListy,kolumnaAdres,wierszAdres);
    adresListy=adresListy->glowa;
    adresListy=przejdDoWiersza(adresListy,-1,kolumnaAdres,wierszAdres);
    kolumna=*kolumnaAdres;
    wiersz=*wierszAdres;
    buf[licznikKopiowania]='\0';
    while ((znak=getch())!=27)
    {
        gotoxy(0,7);
        printf(ZAMARZTESKST);
        gotoxy(0,7);
        printf("Status bufora: ");
        if (flagaWartoscBuf==0)//wypisanie stanu bufora
            printf("PUSTY");
        else if(licznikKopiowania<ROZMIAR_BUF_KOPIOWANIA-1)
            printf("CZESCIOWO ZAPELNIONY");
        else
            printf("PELNY");
        if (znak==-32)//znak specjalny np strzalki przekirowanie do obslugi ich
        {

            znakSpec=1;
            continue;
        }//end if
        if (znakSpec==1&&flaga==1)//mozliwosc ruchu kursorem jezeli nie zaczeto zaznaczania i jezeli jest potwierdzenie wcisniecia znaku specjalnego(strzalki)
        {
            switch(znak)
            {
            case 72:
            {
                if (wiersz>0)
                {
                    wiersz--;
                    adresListy=adresListy->poprz;
                    kolumna=adresListy->nrKolumny;
                }
                break;

            }//end case 72
            case 80:
            {
                if (adresListy->nast!=NULL)
                {
                    wiersz++;
                    adresListy=adresListy->nast;
                    kolumna=adresListy->nrKolumny;
                }
                break;

            }//end case 80
            case 75:
            {
                if(kolumna>0)
                    kolumna--;
                else if(adresListy->poprz!=NULL)
                {
                    wiersz--;
                    adresListy=adresListy->poprz;
                    kolumna=adresListy->nrKolumny;
                }
                break;
            }
            case 77:
            {
                if(kolumna<adresListy->nrKolumny)
                    kolumna++;
                else if(adresListy->nast!=NULL)
                {
                    wiersz++;
                    adresListy=adresListy->nast;
                    kolumna=0;
                }
                break;
            }

            }//end switch
            licznikKopiowaniaStartX=kolumna;//poczatek zaznaczania kolumna
            licznikKopiowaniaStartY=wiersz;//poczatek zaznaczania wiersz
            gotoxy(kolumna,wiersz+WYSOKOSC_MENU_GORNEGO);
            znakSpec=0;
            // continue;
        }//end if
        else
        {
            do
            {
                if (flaga==0)
                    znak=getch();
                switch(znak)
                {
                case '+':
                {
                    if (licznikKopiowania<ROZMIAR_BUF_KOPIOWANIA-1)// zeby nie przekroczyc tablicy przechowujaca przekopiowany tekst
                    {
                        gotoxy(kolumna,WYSOKOSC_MENU_GORNEGO+wiersz);
                        printf("%c",z);
                        if (adresListy->tabZnak[kolumna]!='\0')
                        {
                            kopiuj(buf,licznikKopiowania,adresListy->tabZnak[kolumna]);
                            licznikKopiowania++;
                        }
                        else if(adresListy->nast!=NULL)
                        {
                            kopiuj(buf,licznikKopiowania,' ');
                            licznikKopiowania++;
                        }

                        if(kolumna<adresListy->nrKolumny)
                            kolumna++;
                        else if(adresListy->nast!=NULL)
                        {
                            wiersz++;
                            adresListy=adresListy->nast;
                            kolumna=0;
                        }
                        flaga=0;
                        flagaWartoscBuf=1;
                    }
                    break;
                }//end case +
                case '-':
                {

                    if(kolumna>0)
                    {
                        licznikKopiowania--;
                        kolumna--;
                    }

                    else if(adresListy->poprz!=NULL)
                    {
                        licznikKopiowania--;
                        wiersz--;
                        adresListy=adresListy->poprz;
                        kolumna=adresListy->nrKolumny;
                    }//end else if
                    if (licznikKopiowania<0)
                    {
                        flaga=1;
                        flagaWartoscBuf=0;
                        //licznikKopiowania=0;
                    }
                    buf[licznikKopiowania]='\0';
                    gotoxy(kolumna,WYSOKOSC_MENU_GORNEGO+wiersz);
                    printf("%c",adresListy->tabZnak[kolumna]);
                    break;
                }//end case -
                case 'v':
                {
                    if(flaga==1)
                    {
                        wklej(adresListy,buf,kolumna,wiersz);
                        system("cls");
                        OpcjeWOperacjach();
                        wypiszTekst(adresListy,kolumnaAdres,wierszAdres);
                        gotoxy(kolumna,WYSOKOSC_MENU_GORNEGO+wiersz);
                    }
                    break;
                }
                case 'c':
                {
                    flaga=1;
                    break;
                }
                case 'f':
                {
                    system("cls");
                    OpcjeWOperacjach();
                    licznikKopiowania=0;
                    buf[licznikKopiowania]='\0';
                    flagaWartoscBuf=0;
                    wypiszTekst(adresListy,kolumnaAdres,wierszAdres);
                    gotoxy(kolumna,WYSOKOSC_MENU_GORNEGO+wiersz);
                    flaga=1;
                    break;
                }
                case 'x':
                {
                    wytnij(adresListy,buf,licznikKopiowaniaStartX,licznikKopiowaniaStartY,licznikKopiowania);
                    system("cls");
                    OpcjeWOperacjach();
                    wypiszTekst(adresListy,kolumnaAdres,wierszAdres);
                    gotoxy(kolumna,WYSOKOSC_MENU_GORNEGO+wiersz);
                    flaga=1;
                    break;
                }
                }//end switch
            }
            while(flaga==0);
        }//end else
    }//end while
    system("cls");
    PasekOpcjiGorny();
}