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() ); }
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(); }