Správní rada americké mediální skupiny Warner Bros. Discovery (WBD) podle očekávání odmítla nepřátelskou nabídku na převzetí od firmy Paramount Skydance za 108,4 miliardy dolarů (2,25 bilionu Kč). Paramount podle ní neposkytl dostatečné finanční záruky. Akcionářům proto doporučuje nabídku od Netflixu.
Na WhatsAppu se šíří nový podvod, který ovšem vůbec nevypadá jako hackerský útok. Žádná krádež hesla. Žádné narušení zabezpečení. Žádné zjevné varovné signály. Místo toho jsou lidé trikem donuceni, aby útočníkům sami poskytli přístup, a to pouhým provedením toho, co vypadá jako běžný ověřovací krok. Bezpečnostní experti Avastu tento nový typ útoku nazývají ghostpairing, protože útočníci si při něm tiše vytvářejí „zařízení duchů“, které žije uvnitř vašeho účtu.
Český LibreOffice tým vydává aktualizaci překladu příručky LibreOffice Draw 25.8. Tato kniha se zabývá hlavními funkcemi programu Draw, vektorové grafické komponenty systému LibreOffice. Pomocí Draw lze vytvářet širokou škálu grafických obrázků. Příručka je ke stažení na stránce dokumentace a tým hledá dobrovolníky pro další překlady.
Anthony Enzor-DeMeo je novým CEO Mozilla Corporation. Mozillu převzal po dočasné CEO Lauře Chambers. Vybudovat chce nejdůvěryhodnější softwarovou společnost na světě. Firefox by se měl vyvinout v moderní AI prohlížeč.
Byla vydána nová verze 9.20 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček RustDesk Server pro vzdálený přístup.
Jonathan Thomas oznámil vydání nové verze 3.4.0 video editoru OpenShot (Wikipedie). Představení novinek také na YouTube. Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je i balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.
Byla vydána nová verze 1.6 otevřeného, licenčními poplatky nezatíženého, univerzálního ztrátového formátu komprese zvuku Opus (Wikipedie) a jeho referenční implementace libopus. Podrobnosti na demo stránce.
Vojtěch Polášek představil Vojtux, tj. linuxovou distribuci pro zrakově postižené uživatele. Vychází ze spinu Fedory 43 s desktopovým prostředím MATE. Konečným cílem je, aby žádný Vojtux nebyl potřeba a požadovaná vylepšení se dostala do upstreamu.
Byla vydána (Mastodon, 𝕏) druhá RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 160 (pdf).
Ahoj,
trochu se potykam s problemem removerow v tableView.
Napsal jsem jednoduchou funkci, ktera zjisti aktualni radek a ten se pokusi smazat.
int row = ui->mainTable->currentIndex().row();
mainModel->removeRow(0);
Insertovani noveho radku do modelu provadim takto:
mainModel->record()
r.setValue("date", "2012-04-22");
...
mainModel->insertRecord(-1, r);
Problem ale je, ze maze vice radku nez ma. Podotykam ze tableview je nastaveny tak, aby neumoznoval vyber vice nez jednoho zaznamu.
Data ukladam do SQLite. Uvadim to tu proto, protoze se zda s mym problemem nejak souvisi.
Spustim aplikaci a do SQLite db nasazim 10 radku. Ukoncim aplikaci. Spustim aplikaci podruhe, nasazim do ni dalsich 5 radku (tedy celkem 15). Pokud se pokusim smazat jeden s tech 5ti poslednich radku. smazou se mi vsechny naraz. A to jak z tableView tak samozrejme z DB.
Netrkne vas neco co delam spatne? Neresili uz jste to nekdo? Nejaky commit do db? commit modelu atp?
Diky predem za jakykoliv napad.
jen jeste opravuju jeden omyl. samozrejme ze tam patri
mainModel->removeRow(row);
Takze jak jsem predpokladal. Omyl na me strane.
QSqlTableModel::OnFieldChange = All changes to the model will be applied immediately to the database.
QSqlTableModel::OnRowChange = Changes to a row will be applied when the user selects a different row.
QSqlTableModel::OnManualSubmit = All changes will be cached in the model until either submitAll() or revertAll is called.
Muj problem byl v kombinaci spatne editstrategy a k tomu spatneho comitu.
Tedy model jsem musel nastavit
mainModel->setEditStrategy(QSqlTableModel::OnFieldChange);
A na konci kazdeho smazani pak zavolat
mainModel->submitAll();
Tiskni
Sdílej: