Browse Source

[NEW_FEDATURE] Implement VerticalFileSwitcher feature (in progress).

git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@774 f5eea248-9336-0410-98b8-ebc06183d4e3
remotes/trunk
Don Ho 14 years ago
parent
commit
b32e972221
  1. 21
      PowerEditor/installer/nativeLang/finnish.xml
  2. 152
      PowerEditor/installer/nativeLang/serbianCyrillic.xml
  3. 20
      PowerEditor/src/Notepad_plus.cpp
  4. 2
      PowerEditor/src/Notepad_plus.h
  5. 7
      PowerEditor/src/NppCommands.cpp
  6. 18
      PowerEditor/src/NppIO.cpp
  7. 146
      PowerEditor/src/NppNotification.cpp
  8. 2
      PowerEditor/src/ScitillaComponent/Buffer.cpp
  9. 11
      PowerEditor/src/WinControls/VerticalFileSwitcher/VerticalFileSwitcher.cpp
  10. 17
      PowerEditor/src/WinControls/VerticalFileSwitcher/VerticalFileSwitcher.h
  11. 67
      PowerEditor/src/WinControls/VerticalFileSwitcher/VerticalFileSwitcherListView.cpp
  12. 8
      PowerEditor/src/WinControls/VerticalFileSwitcher/VerticalFileSwitcherListView.h
  13. 2
      PowerEditor/src/lastRecentFileList.cpp

21
PowerEditor/installer/nativeLang/finnish.xml

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="Windows-1252" ?>
<!--
Suomenkielinen lokalisointi Notepad++ 5.8.7 / Finnish localization
Viimeisin muokkaaja: Teijo, 11.2.2011 ver II
Suomenkielinen lokalisointi Notepad++ 5.9 / Finnish localization
Viimeisin muokkaaja: Teijo, 31.3.2011
Lähetä käännösvirhehavaintosi ja korjausehdotuksesi osoitteeseen teijo(at)nettilinja.fi
Asennusohjeet => https://sourceforge.net/forum/message.php?msg_id=5691520
-->
@ -34,13 +34,15 @@ Asennusohjeet => https://sourceforge.net/forum/message.php?msg_id=5691520
<Item posX="1" posY="14" name="Automaattiset täydennykset"/>
<Item posX="1" posY="15" name="Rivin loppumerkit (EOL)"/>
<Item posX="1" posY="16" name="Välilyöntien käsittely"/>
<Item posX="1" posY="17" name="Liitä erikoistekstiä"/>
<Item posX="2" posY="16" name="Samanlaisten korostaminen"/>
<Item posX="2" posY="17" name="Korostusten poistaminen"/>
<Item posX="2" posY="18" name="Eteenpäin korostustyyliin"/>
<Item posX="2" posY="19" name="Taaksepäin korostustyyliin"/>
<Item posX="2" posY="21" name="Kirjanmerkit"/>
<Item posX="3" posY="4" name="Erityismerkit"/>
<Item posX="3" posY="5" name="Suurennus"/>
<Item posX="3" posY="6" name="Näkymät ja istunnot"/>
<Item posX="3" posY="16" name="Sulje lohkot tasolle"/>
@ -122,6 +124,9 @@ Asennusohjeet => https://sourceforge.net/forum/message.php?msg_id=5691520
<Item id="42034" name="&amp;Sarake-editori..."/>
<Item id="42035" name="Kommentoi (rivimoodi)"/>
<Item id="42036" name="Poista kommentointi (rivimoodi)"/>
<Item id="42037" name="Sarake-editointitila"/>
<Item id="42038" name="Liitä HTML-sisältö"/>
<Item id="42039" name="Liitä RTF-sisältö"/>
<Item id="42040" name="Avaa kaikki &amp;viimeisimmät tiedostot"/>
<Item id="42041" name="Ty&amp;hjennä viimeisimpien tiedostojen luettelo"/>
<Item id="42042" name="Poista välilyönnit rivien aluista"/>
@ -130,7 +135,9 @@ Asennusohjeet => https://sourceforge.net/forum/message.php?msg_id=5691520
<Item id="42045" name="Poista tarpeettomat välilyönnit ja loppumerkit"/>
<Item id="42046" name="Korvaa tabuloinnit välilyönneillä"/>
<Item id="42047" name="Korvaa välilyönnit tabuloinneilla"/>
<Item id="42048" name="Kopioi binäärisisältö"/>
<Item id="42049" name="Leikkaa binäärisisältö"/>
<Item id="42050" name="Liitä binäärisisältö"/>
<Item id="43001" name="&amp;Etsi..."/>
<Item id="43002" name="Etsi &amp;seuraava"/>
<Item id="43003" name="Korvaa..."/>
@ -177,9 +184,9 @@ Asennusohjeet => https://sourceforge.net/forum/message.php?msg_id=5691520
<Item id="43045" name="Aktivoi hakutulosikkuna"/>
<Item id="43046" name="Seuraava hakutulos"/>
<Item id="43047" name="Edellinen hakutulos"/>
<Item id ="43048" name = "Korosta ja etsi seuraava"/>
<Item id ="43049" name = "Korosta ja etsi edellinen"/>
<Item id ="43050" name = "Kaikkien kirjanmerkkien käänteistäminen"/>
<Item id ="43048" name="Korosta ja etsi seuraava"/>
<Item id ="43049" name="Korosta ja etsi edellinen"/>
<Item id ="43050" name="Kaikkien kirjanmerkkien käänteistäminen"/>
<Item id="44009" name="Ruudunkaappaustila"/>
<Item id="44010" name="Sulje kaikki lohkot"/>

152
PowerEditor/installer/nativeLang/serbianCyrillic.xml

@ -4,6 +4,7 @@
Last modified Wednesday, Mart 11th 2010 18:06 GMT by Čâŕí Ńňŕđ÷ĺâčž.
Please e-mail errors, suggestions etc. to ivanstar61 at gmail.com.
-->
<NotepadPlus>
<Native-Langue name="Ńđďńęč" filename="SerbianCir.xml" >
<Menu>
@ -32,11 +33,14 @@
<Item posX="1" posY="13" name="Íŕďîěĺíŕ/Áĺç íŕďîěĺíĺ"/>
<Item posX="1" posY="14" name="Ŕóňîěŕňńęî čçâđřĺśĺ"/>
<Item posX="1" posY="15" name="Ďđîěĺíŕ çŕâđřĺňęŕ đĺäŕ"/>
<Item posX="2" posY="14" name="Îáĺëĺćč ńâĺ"/>
<Item posX="2" posY="15" name="Óęëîíč ńâĺ"/>
<Item posX="2" posY="16" name="Čäč ăîđĺ"/>
<Item posX="2" posY="17" name="Čäč äîëĺ"/>
<Item posX="3" posY="4" name="Ďđčęŕćč çíŕę"/>
<Item posX="1" posY="16" name="Ďđŕçíŕ îďĺđŕöčĽŕ"/>
<Item posX="1" posY="17" name="Íŕëĺďč ďîńĺáíî"/>
<Item posX="2" posY="16" name="Îçíŕ÷č ńâĺ"/>
<Item posX="2" posY="17" name="Îäçíŕ÷č ńâĺ"/>
<Item posX="2" posY="18" name="Čäč ăîđĺ"/>
<Item posX="2" posY="19" name="Čäč äîëĺ"/>
<Item posX="2" posY="21" name="Çŕáĺëĺřęĺ"/>
<Item posX="3" posY="4" name="Ďđčęŕćč ńčěáîë"/>
<Item posX="3" posY="5" name="ÓâĺžŕĽ"/>
<Item posX="3" posY="6" name="Ďîěĺđč ňđĺíóňíč äîęóěĺíň"/>
<Item posX="3" posY="16" name="Ďŕä íčâîŕ"/>
@ -87,7 +91,7 @@
<Item id="42004" name="&amp;Ďîíîâč"/>
<Item id="42005" name="&amp;Íŕëĺďč"/>
<Item id="42006" name="&amp;Čçáđčřč"/>
<Item id="42007" name="Îäŕáĺđč ń&amp;âĺ"/>
<Item id="42007" name="Čçŕáĺđč ń&amp;âĺ"/>
<Item id="42008" name="ĎîâĺžŕĽ óâó÷ĺíč đĺä"/>
<Item id="42009" name="Ńěŕśč óâó÷ĺíč đĺä"/>
<Item id="42010" name="Äóďëčđ༠ňđĺíóňíč đĺä"/>
@ -102,6 +106,12 @@
<Item id="42021" name="&amp;Ďóńňč ńíčěšĺíî"/>
<Item id="42022" name="Ďđĺáŕöč çŕóńňŕâšĺíó íŕďîěĺíó"/>
<Item id="42023" name="Ňĺęóžŕ íŕďîěĺíŕ"/>
<Item id="42042" name="Čńĺöč đŕçěŕę"/>
<Item id="42043" name="Äîňĺđ༠âîäĺžč č ďđîńňîđ ňđŕęĺ"/>
<Item id="42044" name="Ďđîěĺíŕ çŕâđřĺňęŕ đĺäŕ çŕ ďđîńňîđ"/>
<Item id="42045" name="Óęëîíč íĺďîňđĺáíĺ ďđŕçíčíĺ č ďđîěĺíč çŕâđřĺňŕę đĺäŕ"/>
<Item id="42046" name="TAB çŕ ďđîńňîđ"/>
<Item id="42047" name="Ďđîńňîđ çŕ TAB"/>
<Item id="42024" name="Ďîäĺńč ďđĺîńňŕëč ďđîńňîđ"/>
<Item id="42025" name="Ńŕ÷óâ༠ňđĺíóňíî ńíčěšĺíč ěŕęđî"/>
<Item id="42026" name="Ńěĺđ ňĺęńňŕ ń äĺńíŕ íŕ ëĺâî"/>
@ -159,8 +169,11 @@
<Item id="43043" name="5. ńňčë"/>
<Item id="43044" name="Íŕ<EFBFBD>č ńňčë"/>
<Item id="43045" name="Čńőîä ďđĺňđŕăĺ"/>
<Item id="43046" name="Ńëĺäĺžĺ čńőîä ďđĺňđŕăĺ"/>
<Item id="43046" name="Ńëĺäĺžč čńőîä ďđĺňđŕăĺ"/>
<Item id="43047" name="Ďđĺňőîäíč čńőîä ďđĺňđŕăĺ"/>
<Item id="43048" name="Čçŕáĺđč č ďđîíŕ<EFBFBD>č ńëĺäĺžĺ"/>
<Item id="43049" name="Čçŕáĺđč č íŕ<EFBFBD>č ďđĺňőîäíî"/>
<Item id="43050" name="Îáđíóňĺ çŕáĺëĺřęĺ"/>
<Item id="44009" name="Îęŕ÷č"/>
<Item id="44010" name="Óđîë༠ńâĺ íčâîĺ"/>
<Item id="44011" name="Ęîđčńíč÷ęč îäđĺ<EFBFBD>ĺíč äčĽŕëîă..."/>
@ -177,8 +190,9 @@
<Item id="44032" name="Ďđčęŕćč íŕ öĺëîě ĺęđŕíó"/>
<Item id="44033" name="Âđŕňč íŕ ďîäđŕçóěĺâŕíî"/>
<Item id="44034" name="Óâĺę íŕ âđőó"/>
<Item id="44035" name="Óďŕđŕäčňĺ óńďđŕâíî ďîěĺđŕśĺ"/>
<Item id="44036" name="Óďŕđŕäčňĺ âîäîđŕâíî ďîěĺđŕśĺ"/>
<Item id="44049" name="Đĺçčěĺ..."/>
<Item id="44035" name="Óńęëŕäč óńďđŕâíî ďîěĺđŕśĺ"/>
<Item id="44036" name="Óńęëŕäč âîäîđŕâíî ďîěĺđŕśĺ"/>
<Item id="44041" name="Ďđčęŕćč çíŕę ďđĺëîěŕ đĺäŕ"/>
<Item id="44072" name="Óńđĺäńđĺäč ńĺ íŕ äđóăč ďđčęŕç"/>
@ -189,12 +203,12 @@
<Item id="45005" name="Ęîäčđ༠ó UTF-8"/>
<Item id="45006" name="Ęîäčđ༠ó UCS-2 Big Endian"/>
<Item id="45007" name="Ęîäčđ༠ó UCS-2 Little Endian"/>
<Item id="45008" name="Ęîäčđ༠ó UTF-8 áĺç BOM"/>
<Item id="45009" name="Ďđĺňâîđč ó ANSI"/>
<Item id="45010" name="Ďđĺňâîđč ó UTF-8 áĺç BOM"/>
<Item id="45011" name="Ďđĺňâîđč ó UTF-8"/>
<Item id="45012" name="Ďđĺňâîđč ó UCS-2 Big Endian"/>
<Item id="45013" name="Ďđĺňâîđč ó UCS-2 Little Endian"/>
<Item id="45008" name="Ęîäčđ༠ó UTF-8 without BOM"/>
<Item id="45009" name="Ďđĺáŕöč ó ANSI"/>
<Item id="45010" name="Ďđĺáŕöč ó UTF-8 without BOM"/>
<Item id="45011" name="Ďđĺáŕöč ó UTF-8"/>
<Item id="45012" name="Ďđĺáŕöč ó UCS-2 Big Endian"/>
<Item id="45013" name="Ďđĺáŕöč ó UCS-2 Little Endian"/>
<Item id="10001" name="Ďđčęŕç ó äđóăîě äĺëó - îďîçîâč"/>
<Item id="10002" name="Äóďëč ďđčęŕç"/>
@ -215,7 +229,7 @@
<Item id="48005" name="Óâîç äîäŕňŕęŕ ..."/>
<Item id="48006" name="Óâîç ňĺěŕ ..."/>
<Item id="48009" name="ĘîěáčíŕöčĽĺ ňŕńňĺđŕ..."/>
<Item id="48011" name="Ďîńňŕâęĺ..."/>
<Item id="48011" name="Ďîäĺřŕâŕśŕ..."/>
<Item id="49000" name="&amp;Ďîęđĺíč..."/>
<Item id="50000" name="Äîďóíŕ ôóíęöčĽŕ"/>
@ -225,7 +239,9 @@
<Item id="44042" name="ŃŕęđčĽ đĺäîâĺ"/>
<Item id="42040" name="Îňâîđč ńâĺ íĺäŕâíĺ äŕňîňĺęĺ"/>
<Item id="42041" name="Î÷čńňč ńďčńŕę íĺäŕâíčő äŕňîňĺęŕ"/>
<Item id="48016" name="Čçěĺíč ďđĺ÷čöó/Čçáđčřč Ěŕęđî..."/>
<Item id="48017" name="Čçěĺíč ďđĺ÷čöó/Čçáđčřč ęîěŕíäó..."/>
<Item id="48018" name="Óđĺ<EFBFBD>čâŕśĺ čńęŕ÷óžĺă čçáîđíîă îęâčđŕ"/>
</Commands>
</Main>
<Splitter>
@ -264,10 +280,10 @@
<Item id="1614" name="ĎđĺáđîĽ"/>
<Item id="1615" name="Ďđîíŕ<EFBFBD>č ńâĺ"/>
<Item id="1616" name="Îáĺëĺćč đĺä"/>
<Item id="1617" name="Čńňŕęíóňč ďđîíŕ<EFBFBD>ĺíî"/>
<Item id="1617" name="Čńňŕęíč ďđîíŕ<EFBFBD>ĺíî"/>
<Item id="1618" name="Çŕ ńâŕęó ďđĺňđŕăó"/>
<Item id="1621" name="Ńěĺđ"/>
<Item id="1611" name="Çŕěĺ&amp;íč ńŕ :"/>
<Item id="1611" name="Çŕěĺ&amp;íč ńŕ:"/>
<Item id="1608" name="&amp;Çŕěĺíč"/>
<Item id="1609" name="Çŕěĺíč &amp;ńâĺ"/>
<Item id="1623" name="Ďđîâčäŕí"/>
@ -278,10 +294,10 @@
<Item id="1635" name="Çŕěĺíč ńâĺ ó ńâčě îňâîđĺíčě äîęóěĺíňčěŕ"/>
<Item id="1636" name="Ďđîíŕ<EFBFBD>č ńâĺ ó ńâčě îňâîđĺíčě äîęóěĺíňčěŕ"/>
<Item id="1637" name="Ďđîíŕ<EFBFBD>č ó äŕňîňĺęŕěŕ"/>
<Item id="1654" name="Ôčëňĺđč :"/>
<Item id="1655" name="Ôŕńöčęëŕ :"/>
<Item id="1654" name="Ôčëňĺđč:"/>
<Item id="1655" name="Ôŕńöčęëŕ:"/>
<Item id="1656" name="Íŕ<EFBFBD>č ńâĺ"/>
<Item id="1658" name="Ó ńâčě ďîňôŕńöčęëŕěŕ"/>
<Item id="1658" name="Ó ńâčě ďîäôŕńöčęëŕěŕ"/>
<Item id="1659" name="Ó ńŕęđčâĺíčě ôŕńö."/>
<Item id="1624" name="Íŕ÷čí ďđĺňđŕăĺ"/>
<Item id="1625" name="Óîáč÷ŕĽĺí"/>
@ -296,8 +312,8 @@
<Item id="2008" name="Ęŕđŕęňĺđ"/>
<Item id="1" name="&amp;Ęđĺíč"/>
<Item id="2" name="Îäóńňŕíč"/>
<Item id="2004" name="Tđĺíóňíč :"/>
<Item id="2005" name="Ćĺšĺíč :"/>
<Item id="2004" name="Tđĺíóňíč:"/>
<Item id="2005" name="Ćĺšĺíč:"/>
<Item id="2006" name="Íĺ ěîćĺ äŕšĺ îä :"/>
</GoToLine>
@ -312,7 +328,7 @@
<Item id="2" name="Îäóńňŕíč"/>
<Item id="2301" name="Ńŕ÷óâ༠&amp;/Çŕňâîđč"/>
<Item id="2303" name="Ďđîâčäíîńň"/>
<Item id="2306" name="Čçŕáĺđč ňĺěó : "/>
<Item id="2306" name="Čçŕáĺđč ňĺěó: "/>
<SubDialog>
<Item id="2204" name="Ďîäĺášŕí"/>
<Item id="2205" name="Čńęîřĺí"/>
@ -322,19 +338,19 @@
<Item id="2209" name="Âĺëč÷číŕ ńëîâŕ :"/>
<Item id="2212" name="ÁîĽŕ ďčńěŕ"/>
<Item id="2213" name="Âđńňŕ ďčńěŕ"/>
<Item id="2214" name="Íŕńňŕâöč :"/>
<Item id="2216" name="Ęîđčńíč÷ęč :"/>
<Item id="2214" name="Íŕńňŕâöč:"/>
<Item id="2216" name="Ęîđčńíč÷ęč:"/>
<Item id="2218" name="Ďîäâó÷ĺíî"/>
<Item id="2219" name="Ďîäđŕçóěĺâŕíĺ ęšó÷íĺ đĺ÷č"/>
<Item id="2221" name="Ęîđčńíčęîâĺ ęšó÷íĺ đĺ÷č"/>
<Item id="2225" name="Łĺçčę :"/>
<Item id="2225" name="Łĺçčę:"/>
<Item id="2226" name="Ďîäđŕçóěĺâŕíŕ áîĽŕ ňĺęńňŕ"/>
<Item id="2227" name="Ďîäđŕçóěĺâŕíŕ áîĽŕ ďîçŕäčíĺ"/>
<Item id="2228" name="Ďîäđŕçóěĺâŕíî ďčńěî"/>
<Item id="2229" name="Ďîäđŕçóěĺâŕíŕ âĺëč÷číŕ ńëîâŕ"/>
<Item id="2230" name="Ďîäđŕçóěĺâŕíî ďîäĺášŕíŕ ńëîâŕ"/>
<Item id="2231" name="Ďîäđŕçóěĺâŕíî óęîřĺíŕ ńëîâŕ"/>
<Item id="2232" name="Ďîäđŕçóěĺâŕíî ďîäâó÷ĺíŕ ńëîâŕ"/>
<Item id="2230" name="Ďîäđŕçóěĺâŕíŕ ďîäĺášŕíŕ ńëîâŕ"/>
<Item id="2231" name="Ďîäđŕçóěĺâŕíŕ óęîřĺíŕ ńëîâŕ"/>
<Item id="2232" name="Ďîäđŕçóěĺâŕíŕ ďîäâó÷ĺíŕ ńëîâŕ"/>
</SubDialog>
</StyleConfig>
@ -344,16 +360,18 @@
<Item id="20003" name="Íŕďđŕâč íîâč..."/>
<Item id="20004" name="Óęëîíč"/>
<Item id="20005" name="Ńŕ÷óâ༠ęŕî..."/>
<Item id="20007" name="Łĺçčę : "/>
<Item id="20009" name="Íŕńňŕâŕę :"/>
<Item id="20007" name="Łĺçčę: "/>
<Item id="20009" name="Íŕńňŕâŕę:"/>
<Item id="20012" name="Çŕíĺěŕđč Â/ě ńëîâŕ"/>
<Item id="20011" name="Ďđîâčäíîńň"/>
<Item id="20016" name="Óâîç..."/>
<Item id="20015" name="Čçâîç..."/>
<Item id="0" name="Âđńňŕ áîĽĺ"/>
<Item id="1" name="ÁîĽŕ ńëîâŕ"/>
<Item id="2" name="ÁîĽŕ ďîçŕäčíĺ"/>
<Item id="3" name="Ńňčë ńëîâŕ"/>
<Item id="4" name="Čěĺ ńëîâŕ :"/>
<Item id="5" name="Âĺëč÷číŕ ńëîâŕ :"/>
<Item id="4" name="Íŕçčâ ńëîâŕ:"/>
<Item id="5" name="Âĺëč÷číŕ ńëîâŕ:"/>
<Item id="6" name="Ďîäĺášŕí"/>
<Item id="7" name="Čńęîřĺí"/>
<Item id="8" name="Ďîäâó÷ĺí"/>
@ -375,8 +393,8 @@
<Comment title="Íŕďîěĺíŕ &amp;/ ÁđîĽ">
<Item id="23301" name="Íŕďîěĺíŕ ó đĺäó"/>
<Item id="23101" name="Íŕďîěĺíŕ ó áëîęó"/>
<Item id="23113" name="Îňâîđč íŕďîěĺíó :"/>
<Item id="23115" name="Çŕňâîđč íŕďîěĺíó :"/>
<Item id="23113" name="Îňâîđč íŕďîěĺíó:"/>
<Item id="23115" name="Çŕňâîđč íŕďîěĺíó:"/>
<Item id="23116" name="Óçěč ęšó÷íó đĺ÷ ęŕî ńčěáîë"/>
<Item id="23117" name="Óçěč ęšó÷íĺ đĺ÷č ęŕî ńčěáîëĺ"/>
<Item id="23201" name="ÁđîĽ"/>
@ -386,13 +404,13 @@
<Item id="24103" name="Äîńňóďíč ńčěáîëč"/>
<Item id="24101" name="Ŕęňčâčđŕíč îďĺđŕňĺđč"/>
<Item id="24201" name="ĐŕçäâŕĽŕ÷ 1"/>
<Item id="24211" name="Ďî÷ĺňíč çíŕę :"/>
<Item id="24214" name="Çŕâđříč çíŕę :"/>
<Item id="24211" name="Ďî÷ĺňíč çíŕę:"/>
<Item id="24214" name="Çŕâđříč çíŕę:"/>
<Item id="24301" name="ĐŕçäâŕĽŕ÷ 2"/>
<Item id="24311" name="Ďî÷ĺňíč çíŕę :"/>
<Item id="24314" name="Çŕâđříč çíŕę :"/>
<Item id="24311" name="Ďî÷ĺňíč çíŕę:"/>
<Item id="24314" name="Çŕâđříč çíŕę:"/>
</Operator>
<Item id="24001" name="Îěîăóžč čçëŕçíč çíŕę :"/>
<Item id="24001" name="Îěîăóžč čçëŕçíč çíŕę:"/>
</UserDefine>
<Preference title="Ďîńňŕâęĺ">
<Item id="6001" name="Çŕňâîđč"/>
@ -407,7 +425,7 @@
<Item id="6107" name="Ńěŕśč"/>
<Item id="6108" name="Çŕęšó÷༠(áĺç ďđĺâëŕ÷ĺśŕ)"/>
<Item id="6109" name="Ďîňŕěíč íĺŕęňčâíĺ ęŕđňčöĺ"/>
<Item id="6110" name="Îáĺëĺćč ňđĺíóňíó ęŕđňčöč"/>
<Item id="6110" name="Îáĺëĺćč ňđĺíóňíó ęŕđňčöó"/>
<Item id="6111" name="Ďđčęŕćč ńňŕňóńíó ňđŕęó"/>
<Item id="6112" name="Ďđčęŕćč äóăěĺ çŕ çŕňâŕđŕśĺ"/>
@ -422,8 +440,8 @@
</Global>
<Scintillas title="Óđĺ<EFBFBD>čâŕśĺ">
<Item id="6216" name="Ďîńňŕâęĺ ďîęŕçčâŕ÷ŕ"/>
<Item id="6217" name="Řčđčíŕ :"/>
<Item id="6219" name="Áđçčíŕ ňđĺďňŕĽŕ :"/>
<Item id="6217" name="Řčđčíŕ:"/>
<Item id="6219" name="Áđçčíŕ ňđĺďňŕĽŕ:"/>
<Item id="6221" name="Á"/>
<Item id="6222" name="Ń"/>
<Item id="6224" name="Âčřĺ óđĺ<EFBFBD>čâŕ÷ŕ"/>
@ -431,13 +449,19 @@
<Item id="6201" name="Čçăëĺä čâčöĺ äŕňîňĺęĺ"/>
<Item id="6202" name="Łĺäíîńňŕâíî"/>
<Item id="6203" name="Ńňđĺëčöŕ"/>
<Item id="6204" name="Ęđóă - äđâî"/>
<Item id="6204" name="Ęđóă-äđâî"/>
<Item id="6205" name="Ęâŕäđŕň-äđâî"/>
<Item id="6226" name="ÍčĽĺäŕí"/>
<Item id="6227" name="ËčíčĽŕ ďđĺëîěŕ"/>
<Item id="6228" name="Ďîäđŕçóěĺâŕíî"/>
<Item id="6229" name="Ďîđŕâíŕň"/>
<Item id="6230" name="Óâëŕ÷ĺśĺ"/>
<Item id="6206" name="Ďđčęŕćč áđîĽ đĺäŕ"/>
<Item id="6207" name="Ďđčęŕćč çŕáĺëĺćĺíĺ"/>
<Item id="6208" name="Ďđčęŕćč óńďđŕâíó čâčöó"/>
<Item id="6209" name="ÁđîĽ ńňóáöŕ : "/>
<Item id="6209" name="ÁđîĽ ńňóáöŕ: "/>
<Item id="6211" name="Ďîńňŕâęĺ óńďđŕâíĺ čâčöĺ"/>
<Item id="6212" name="Đĺćčě đĺäŕ"/>
@ -448,14 +472,14 @@
<Item id="6401" name="Ôîđěŕň"/>
<Item id="6402" name="Windows"/>
<Item id="6403" name="Unix"/>
<Item id="6404" name="Mac"/>
<Item id="6404" name="Mac"/>
<Item id="6405" name="Ęîäčđŕśĺ"/>
<Item id="6406" name="ANSI"/>
<Item id="6407" name="UTF-8 áĺç BOM"/>
<Item id="6408" name="UTF-8"/>
<Item id="6409" name="UCS-2 Big Endian"/>
<Item id="6410" name="UCS-2 Little Endian"/>
<Item id="6411" name="Ďîäđŕçóěĺâŕíč Ľĺçčę :"/>
<Item id="6411" name="Ďîäđŕçóěĺâŕíč Ľĺçčę:"/>
<Item id="6413" name="Ďîäđŕçóěĺâŕíŕ ôŕńöčęëŕ (Îňâîđč/Ńŕ÷óâŕĽ)"/>
<Item id="6414" name="Ńëĺäč ňđĺíóňíč äîęóěĺíň"/>
<Item id="6415" name="Çŕďŕěňč ďîńëĺäśó ęîđčřžĺíó ôŕńöčęëó"/>
@ -463,13 +487,13 @@
<Item id="6420" name="Ďđčěĺíč íŕ îňâîđĺíó ANSI äŕň."/>
</NewDoc>
<FileAssoc title="Óäđóćčâŕśĺ äŕňîňĺęŕ">
<Item id="4009" name="Ďîäđćŕíč íŕńňŕâöč :"/>
<Item id="4010" name="Đĺăčńňđîâŕíč íŕńňŕâöč :"/>
<Item id="4009" name="Ďîäđćŕíč íŕńňŕâöč:"/>
<Item id="4010" name="Đĺăčńňđîâŕíč íŕńňŕâöč:"/>
</FileAssoc>
<LangMenu title="Čçáîđ Ľĺçčęŕ/Ęŕđňčöŕ ďîńňŕâęč">
<Item id="6301" name="Ęŕđňčöŕ ďîńňŕâęč"/>
<Item id="6302" name="Çŕěĺíč ńŕ đŕçěŕęîě"/>
<Item id="6303" name="Âĺëč÷číŕ ęŕđňčöĺ : "/>
<Item id="6303" name="Âĺëč÷číŕ ęŕđňčöĺ: "/>
<Item id="6505" name="Äîńňóďíĺ ńňŕâęĺ"/>
<Item id="6506" name="Íĺäîńňóďíĺ ńňŕâęĺ"/>
<Item id="6507" name="Íŕďđŕâč čçáîđ Ľĺçčęŕ"/>
@ -481,7 +505,7 @@
<Item id="6602" name="Čçáîđ áîĽŕ"/>
<Item id="6603" name="Äîáčžĺňĺ îíî řňî âčäčňĺ"/>
<Item id="6604" name="Îáđíč áîĽĺ"/>
<Item id="6605" name="Öđíî íŕ áĺëîě"/>
<Item id="6605" name="Öđíî íŕ áĺëîě"/>
<Item id="6606" name="Áĺç ďîçŕäčíńęĺ áîĽĺ"/>
<Item id="6607" name="Ďîäĺńč čâčöó (ěě)"/>
<Item id="6612" name="Ëĺâŕ"/>
@ -492,24 +516,24 @@
<Item id="6707" name="Óęîřĺí"/>
<Item id="6708" name="Çŕăëŕâšĺ"/>
<Item id="6709" name="Ëĺâč äĺî"/>
<Item id="6710" name="Ńđĺäśč äĺî"/>
<Item id="6710" name="Ńđĺäśč äĺî"/>
<Item id="6711" name="Äĺńíč äĺî"/>
<Item id="6717" name="Ďîäĺášŕí"/>
<Item id="6718" name="Óęîřĺí"/>
<Item id="6719" name="ĎîäíîćĽĺ"/>
<Item id="6720" name="Ëĺâč äĺî"/>
<Item id="6721" name="Ńđĺäśč äĺî"/>
<Item id="6721" name="Ńđĺäśč äĺî"/>
<Item id="6722" name="Äĺńíč äĺî"/>
<Item id="6723" name="ÄîäŕĽ"/>
<Item id="6723" name="ÄîäŕĽ"/>
<Item id="6725" name="Ďđîěĺíščâŕ :"/>
<Item id="6728" name="Çŕăëŕâšĺ č ďîäíîćĽĺ"/>
</Print>
<MISC title="Îńňŕëî">
<Item id="6304" name="Ďîńňŕâęĺ čńňîđčĽĺ äŕňîňĺęŕ"/>
<Item id="6305" name="Íĺ ďđîâĺđŕâ༠ďđč ďîęđĺňŕśó"/>
<Item id="6305" name="Íĺ ďđîâĺđŕâ༠ďđč ďîęđĺňŕśó"/>
<Item id="6306" name="ÍŕĽâĺžč áđîĽ ó ďđîřëîńňč:"/>
<Item id="6307" name="Îěîăóžč"/>
<Item id="6308" name="Ńěŕśč ó ńňŕđňíč ďëŕňî"/>
<Item id="6308" name="Óěŕśč ó ńňŕđňíč ďëŕňî"/>
<Item id="6309" name="Çŕďŕěňč ňđĺíóňíó ńĺńčĽó çŕ ńëĺäĺžč ďóň"/>
<Item id="6312" name="Ńŕěîďđĺďîçíŕâŕśĺ ńňŕňóńŕ äŕňîňĺęĺ"/>
<Item id="6313" name="Ňčőî ŕćóđčđŕśĺ"/>
@ -538,9 +562,9 @@
<Item id="6316" name="Łĺäíîńňŕâíŕ đĺçĺđâŕ"/>
<Item id="6317" name="Îďřčđíŕ đĺçĺđâŕ"/>
<Item id="6804" name="Ďđîíŕ<EFBFBD>č ôŕńöčęëó çŕ đĺçĺđâó"/>
<Item id="6803" name="Ôŕńöčęëŕ :"/>
<Item id="6803" name="Ôŕńöčęëŕ:"/>
<Item id="6807" name="Ńŕěîäîďóśŕâŕśĺ"/>
<Item id="6808" name="Ńŕěîäîďóśŕâŕśĺ ďđč ńâŕęîě óíîńó"/>
<Item id="6808" name="Ńŕěîäîďóśŕâŕśĺ ďđč ńâŕęîě óíîńó"/>
<Item id="6809" name="Äîďóíč ôóíęöčĽĺ"/>
<Item id="6810" name="Äîďóíč đĺ÷č"/>
<Item id="6811" name="Îä"/>
@ -552,7 +576,7 @@
<MultiMacro title="Ďîęđĺíč ěŕęđî âčřĺ ďóňŕ óçŕńňîďíî">
<Item id="1" name="Ďîęđĺíč"/>
<Item id="2" name="Îňęŕćč"/>
<Item id="8006" name="Ďîęđĺíč ěŕęđî :"/>
<Item id="8006" name="Ďîęđĺíč ěŕęđî:"/>
<Item id="8001" name="Ďîęđĺíč"/>
<Item id="8005" name="ďóňŕ"/>
<Item id="8002" name="Ďîęđĺíč íŕ ęđ༠äŕňîňĺęĺ"/>
@ -567,8 +591,8 @@
<ColumnEditor title="Óđĺ<EFBFBD>čâŕśĺ ńňóáŕöŕ">
<Item id="2023" name="Ňĺęńň çŕ óáŕöčâŕśĺ"/>
<Item id="2033" name="ÁđîĽ çŕ óáŕöčâŕśĺ"/>
<Item id="2030" name="Ďî÷ĺňíč áđîĽ :"/>
<Item id="2031" name="ĎîâĺžŕĽ çŕ :"/>
<Item id="2030" name="Ďî÷ĺňíč áđîĽ:"/>
<Item id="2031" name="ĎîâĺžŕĽ çŕ:"/>
<Item id="2035" name="Çŕďî÷íč ń 0"/>
<Item id="2032" name="Ôîđěŕň"/>
<Item id="2024" name="Dec"/>

20
PowerEditor/src/Notepad_plus.cpp

@ -2673,26 +2673,30 @@ void Notepad_plus::loadBufferIntoView(BufferID id, int whichOne, bool dontClose)
tabToOpen->setBuffer(0, id); //index 0 since only one open
activateBuffer(id, whichOne); //activate. DocTab already activated but not a problem
MainFileManager->closeBuffer(idToClose, viewToOpen); //delete the buffer
if (_pFileSwitcherPanel)
_pFileSwitcherPanel->closeItem((int)idToClose);
} else {
tabToOpen->addBuffer(id);
}
}
void Notepad_plus::removeBufferFromView(BufferID id, int whichOne) {
bool Notepad_plus::removeBufferFromView(BufferID id, int whichOne) {
DocTabView * tabToClose = (whichOne == MAIN_VIEW)?&_mainDocTab:&_subDocTab;
ScintillaEditView * viewToClose = (whichOne == MAIN_VIEW)?&_mainEditView:&_subEditView;
//check if buffer exists
int index = tabToClose->getIndexByBuffer(id);
if (index == -1) //doesn't exist, done
return;
return false;
Buffer * buf = MainFileManager->getBufferByID(id);
//Cannot close doc if last and clean
if (tabToClose->nbItem() == 1) {
if (!buf->isDirty() && buf->isUntitled()) {
return; //done
if (tabToClose->nbItem() == 1)
{
if (!buf->isDirty() && buf->isUntitled())
{
return false;
}
}
@ -2719,6 +2723,7 @@ void Notepad_plus::removeBufferFromView(BufferID id, int whichOne) {
}
MainFileManager->closeBuffer(id, viewToClose);
return true;
}
int Notepad_plus::switchEditViewTo(int gid)
@ -4225,6 +4230,11 @@ void Notepad_plus::notifyBufferActivated(BufferID bufid, int view)
scnN.nmhdr.idFrom = (uptr_t)bufid;
_pluginsManager.notify(&scnN);
if (_pFileSwitcherPanel)
{
_pFileSwitcherPanel->activateItem((int)bufid);
}
_linkTriggered = true;
}

2
PowerEditor/src/Notepad_plus.h

@ -441,7 +441,7 @@ private:
void docOpenInNewInstance(FileTransferMode mode, int x = 0, int y = 0);
void loadBufferIntoView(BufferID id, int whichOne, bool dontClose = false); //Doesnt _activate_ the buffer
void removeBufferFromView(BufferID id, int whichOne); //Activates alternative of possible, or creates clean document if not clean already
bool removeBufferFromView(BufferID id, int whichOne); //Activates alternative of possible, or creates clean document if not clean already
bool activateBuffer(BufferID id, int whichOne); //activate buffer in that view if found
void notifyBufferActivated(BufferID bufid, int view);

7
PowerEditor/src/NppCommands.cpp

@ -21,7 +21,7 @@
#include "ShortcutMapper.h"
#include "TaskListDlg.h"
#include "clipboardFormats.h"
#include "VerticalFileSwitcher.h"
void Notepad_plus::macroPlayback(Macro macro)
{
@ -847,6 +847,8 @@ void Notepad_plus::command(int id)
{
Buffer * buf = _pEditView->getCurrentBuffer();
buf->setUserReadOnly(!buf->getUserReadOnly());
if (_pFileSwitcherPanel)
_pFileSwitcherPanel->setItemIconStatus((int)buf);
}
break;
@ -858,8 +860,9 @@ void Notepad_plus::command(int id)
dwFileAttribs ^= FILE_ATTRIBUTE_READONLY;
::SetFileAttributes(buf->getFullPathName(), dwFileAttribs);
buf->setFileReadOnly(false);
if (_pFileSwitcherPanel)
_pFileSwitcherPanel->setItemIconStatus((int)buf);
}
break;

18
PowerEditor/src/NppIO.cpp

@ -164,7 +164,7 @@ BufferID Notepad_plus::doOpen(const TCHAR *fileName, bool isReadOnly, int encodi
scnN.nmhdr.code = NPPN_FILEOPENED;
_pluginsManager.notify(&scnN);
if (_pFileSwitcherPanel)
_pFileSwitcherPanel->newItem((int)buf, fileName);
_pFileSwitcherPanel->newItem((int)buf);
}
else
{
@ -202,7 +202,7 @@ BufferID Notepad_plus::doOpen(const TCHAR *fileName, bool isReadOnly, int encodi
pNppParam->safeWow64EnableWow64FsRedirection(TRUE);
isWow64Off = false;
}
return buffer;;
return buffer;
}
bool Notepad_plus::doReload(BufferID id, bool alert)
@ -317,17 +317,20 @@ void Notepad_plus::doClose(BufferID id, int whichOne) {
int nrDocs = whichOne==MAIN_VIEW?(_mainDocTab.nbItem()):(_subDocTab.nbItem());
//Do all the works
removeBufferFromView(id, whichOne);
bool isBufRemoved = removeBufferFromView(id, whichOne);
if (nrDocs == 1 && canHideView(whichOne))
{ //close the view if both visible
hideView(whichOne);
}
// Notify plugins that current file is closed
scnN.nmhdr.code = NPPN_FILECLOSED;
_pluginsManager.notify(&scnN);
if (_pFileSwitcherPanel)
_pFileSwitcherPanel->closeItem((int)id);
if (isBufRemoved)
{
scnN.nmhdr.code = NPPN_FILECLOSED;
_pluginsManager.notify(&scnN);
if (_pFileSwitcherPanel)
_pFileSwitcherPanel->closeItem((int)id);
}
return;
}
@ -881,6 +884,7 @@ void Notepad_plus::fileOpen()
void Notepad_plus::fileNew()
{
BufferID newBufID = MainFileManager->newEmptyDocument();
loadBufferIntoView(newBufID, currentView(), true); //true, because we want multiple new files if possible
activateBuffer(newBufID, currentView());
}

146
PowerEditor/src/NppNotification.cpp

@ -18,6 +18,7 @@
#include "precompiledHeaders.h"
#include "Notepad_plus_Window.h"
#include "xmlMatchedTagsHighlighter.h"
#include "VerticalFileSwitcher.h"
BOOL Notepad_plus::notify(SCNotification *notification)
{
@ -52,142 +53,6 @@ BOOL Notepad_plus::notify(SCNotification *notification)
{
prevWasEdit = false;
}
/*
if (!_isFileOpening && (isFromPrimary || isFromSecondary) && _pEditView->hasMarginShowed(ScintillaEditView::_SC_MARGE_MODIFMARKER))
{
bool isProcessed = false;
int fromLine = _pEditView->execute(SCI_LINEFROMPOSITION, notification->position);
pair<size_t, bool> undolevel = _pEditView->getLineUndoState(fromLine);
if ((notification->modificationType & (SC_MOD_DELETETEXT | SC_MOD_INSERTTEXT)) &&
(notification->modificationType & SC_PERFORMED_USER))
{
//printStr(TEXT("user type"));
_pEditView->setLineUndoState(fromLine, undolevel.first+1);
_pEditView->execute(SCI_MARKERADD, fromLine, MARK_LINEMODIFIEDUNSAVED);
_pEditView->execute(undolevel.second?SCI_MARKERADD:SCI_MARKERDELETE, fromLine, MARK_LINEMODIFIEDSAVED);
if (notification->linesAdded > 0)
{
for (int i = 0 ; i < notification->linesAdded ; i++)
{
++fromLine;
_pEditView->execute(SCI_MARKERADD, fromLine, MARK_LINEMODIFIEDUNSAVED);
pair<size_t, bool> modifInfo = _pEditView->getLineUndoState(fromLine);
_pEditView->execute(modifInfo.second?SCI_MARKERADD:SCI_MARKERDELETE, fromLine, MARK_LINEMODIFIEDSAVED);
}
}
}
if ((notification->modificationType & (SC_MOD_DELETETEXT | SC_MOD_INSERTTEXT)) &&
(notification->modificationType & SC_PERFORMED_REDO) &&
(notification->modificationType & SC_MULTISTEPUNDOREDO))
{
//printStr(TEXT("redo multiple"));
isProcessed = true;
_pEditView->setLineUndoState(fromLine, undolevel.first+1);
_pEditView->execute(SCI_MARKERADD, fromLine, MARK_LINEMODIFIEDUNSAVED);
if (notification->linesAdded > 0)
{
for (int i = 0 ; i < notification->linesAdded ; i++)
{
++fromLine;
_pEditView->execute(SCI_MARKERADD, fromLine, MARK_LINEMODIFIEDUNSAVED);
pair<size_t, bool> modifInfo = _pEditView->getLineUndoState(fromLine);
_pEditView->execute(modifInfo.second?SCI_MARKERADD:SCI_MARKERDELETE, fromLine, MARK_LINEMODIFIEDSAVED);
}
}
}
if ((notification->modificationType & (SC_MOD_DELETETEXT | SC_MOD_INSERTTEXT)) &&
(notification->modificationType & SC_PERFORMED_UNDO) &&
(notification->modificationType & SC_MULTISTEPUNDOREDO))
{
//printStr(TEXT("undo multiple"));
isProcessed = true;
--undolevel.first;
if (undolevel.first == 0)
{
_pEditView->execute(SCI_MARKERDELETE, fromLine, MARK_LINEMODIFIEDUNSAVED);
}
else
{
_pEditView->execute(SCI_MARKERADD, fromLine, MARK_LINEMODIFIEDUNSAVED);
}
_pEditView->execute(undolevel.second?SCI_MARKERADD:SCI_MARKERDELETE, fromLine, MARK_LINEMODIFIEDSAVED);
_pEditView->setLineUndoState(fromLine, undolevel.first);
if (notification->linesAdded > 0)
{
for (int i = fromLine + 1 ; i < fromLine + notification->linesAdded ; i++)
{
pair<size_t, bool> level = _pEditView->getLineUndoState(i);
if (level.first > 0)
_pEditView->execute(SCI_MARKERADD, i, MARK_LINEMODIFIEDUNSAVED);
_pEditView->execute(level.second?SCI_MARKERADD:SCI_MARKERDELETE, fromLine, MARK_LINEMODIFIEDSAVED);
}
}
}
if ((notification->modificationType & (SC_MOD_DELETETEXT | SC_MOD_INSERTTEXT)) &&
(notification->modificationType & SC_PERFORMED_REDO) &&
(notification->modificationType & SC_LASTSTEPINUNDOREDO) && !isProcessed)
{
//printStr(TEXT("redo LASTO"));
_pEditView->setLineUndoState(fromLine, undolevel.first+1);
_pEditView->execute(SCI_MARKERADD, fromLine, MARK_LINEMODIFIEDUNSAVED);
_pEditView->execute(undolevel.second?SCI_MARKERADD:SCI_MARKERDELETE, fromLine, MARK_LINEMODIFIEDSAVED);
if (notification->linesAdded > 0)
{
for (int i = 0 ; i < notification->linesAdded ; i++)
{
++fromLine;
_pEditView->execute(SCI_MARKERADD, fromLine, MARK_LINEMODIFIEDUNSAVED);
pair<size_t, bool> modifInfo = _pEditView->getLineUndoState(fromLine);
_pEditView->execute(modifInfo.second?SCI_MARKERADD:SCI_MARKERDELETE, fromLine, MARK_LINEMODIFIEDSAVED);
}
}
}
if ((notification->modificationType & (SC_MOD_DELETETEXT | SC_MOD_INSERTTEXT)) &&
(notification->modificationType & SC_PERFORMED_UNDO) &&
(notification->modificationType & SC_LASTSTEPINUNDOREDO) && !isProcessed)
{
//printStr(TEXT("undo LASTO"));
--undolevel.first;
if (undolevel.first == 0)
{
_pEditView->execute(SCI_MARKERDELETE, fromLine, MARK_LINEMODIFIEDUNSAVED);
}
else
{
_pEditView->execute(SCI_MARKERADD, fromLine, MARK_LINEMODIFIEDUNSAVED);
}
_pEditView->execute(undolevel.second?SCI_MARKERADD:SCI_MARKERDELETE, fromLine, MARK_LINEMODIFIEDSAVED);
_pEditView->setLineUndoState(fromLine, undolevel.first);
if (notification->linesAdded > 0)
{
for (int i = fromLine + 1 ; i < fromLine + notification->linesAdded ; i++)
{
pair<size_t, bool> level = _pEditView->getLineUndoState(i);
if (level.first > 0)
_pEditView->execute(SCI_MARKERADD, i, MARK_LINEMODIFIEDUNSAVED);
_pEditView->execute(level.second?SCI_MARKERADD:SCI_MARKERDELETE, fromLine, MARK_LINEMODIFIEDSAVED);
}
}
}
}
*/
}
break;
@ -215,8 +80,13 @@ BOOL Notepad_plus::notify(SCNotification *notification)
break;
}
}
buf->setDirty(notification->nmhdr.code == SCN_SAVEPOINTLEFT);
break; }
bool isDirty = notification->nmhdr.code == SCN_SAVEPOINTLEFT;
buf->setDirty(isDirty);
if (_pFileSwitcherPanel)
_pFileSwitcherPanel->setItemIconStatus((int)buf);
break;
}
case SCN_MODIFYATTEMPTRO :
// on fout rien

2
PowerEditor/src/ScitillaComponent/Buffer.cpp

@ -144,7 +144,7 @@ void Buffer::setFileName(const TCHAR *fn, LangType defaultLang)
bool Buffer::checkFileState() { //returns true if the status has been changed (it can change into DOC_REGULAR too). false otherwise
struct _stat buf;
if (_currentStatus == DOC_UNNAMED) //unsaved document cannot change by environment
if (_currentStatus == DOC_UNNAMED) //unsaved document cannot change by environment
return false;
bool isWow64Off = false;

11
PowerEditor/src/WinControls/VerticalFileSwitcher/VerticalFileSwitcher.cpp

@ -97,17 +97,6 @@ void VerticalFileSwitcher::activateDoc(int i) const
int view2set = docPosInfo >> 30;
int index2Switch = (docPosInfo << 2) >> 2 ;
//int view2set = _fileListView.getViewInfoFromIndex(i);
//int index2Switch = _fileListView.getDocIndexInfoFromIndex(i);
::SendMessage(_hParent, NPPM_ACTIVATEDOC, view2set, index2Switch);
}
int VerticalFileSwitcher::newItem(int bufferID, const TCHAR *fn)
{
return _fileListView.newItem(bufferID, fn);
}
int VerticalFileSwitcher::closeItem(int bufferID)
{
return _fileListView.closeItem(bufferID);
}

17
PowerEditor/src/WinControls/VerticalFileSwitcher/VerticalFileSwitcher.h

@ -48,8 +48,21 @@ public:
//Activate document in scintilla by using the internal index
void activateDoc(int i) const;
int newItem(int bufferID, const TCHAR *fn);
int closeItem(int bufferID);
int newItem(int bufferID){
return _fileListView.newItem(bufferID);
};
int closeItem(int bufferID){
return _fileListView.closeItem(bufferID);
};
void activateItem(int bufferID) {
_fileListView.activateItem(bufferID);
};
void setItemIconStatus(int bufferID) {
_fileListView.setItemIconStatus(bufferID) ;
};
protected:
virtual BOOL CALLBACK VerticalFileSwitcher::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam);

67
PowerEditor/src/WinControls/VerticalFileSwitcher/VerticalFileSwitcherListView.cpp

@ -17,6 +17,7 @@
#include "precompiledHeaders.h"
#include "VerticalFileSwitcherListView.h"
#include "Buffer.h"
void VerticalFileSwitcherListView::init(HINSTANCE hInst, HWND parent, HIMAGELIST hImaLst)
{
@ -108,9 +109,56 @@ int VerticalFileSwitcherListView::getBufferIDFromIndex(int index) const {
return int(_taskListInfo._tlfsLst[index]._bufID);
}
int VerticalFileSwitcherListView::newItem(int bufferID, const TCHAR *fn)
int VerticalFileSwitcherListView::newItem(int bufferID)
{
int i = find(bufferID);
if (i == -1)
{
i = add(bufferID);
}
return i;
}
void VerticalFileSwitcherListView::setItemIconStatus(int bufferID)
{
int i = find(bufferID);
if (i != -1)
{
Buffer *buf = (Buffer *)bufferID;
LVITEM item;
item.mask = LVIF_TEXT | LVIF_IMAGE;
item.pszText = (TCHAR *)::PathFindFileName(buf->getFileName());
item.iItem = i;
item.iSubItem = 0;
item.iImage = buf->getUserReadOnly()||buf->getFileReadOnly()?2:(buf->isDirty()?1:0);
ListView_SetItem(_hSelf, &item);
}
}
int VerticalFileSwitcherListView::closeItem(int bufferID)
{
int i = find(bufferID);
if (i != -1)
remove(i);
return i;
}
void VerticalFileSwitcherListView::activateItem(int bufferID)
{
int i = find(bufferID);
if (i == -1)
{
newItem(bufferID);
}
ListView_SetItemState(_hSelf, i, LVIS_FOCUSED|LVIS_SELECTED, LVIS_FOCUSED|LVIS_SELECTED);
}
int VerticalFileSwitcherListView::add(int bufferID)
{
int index = int(_taskListInfo._tlfsLst.size());
const TCHAR *fn = ((Buffer *)bufferID)->getFileName();
_taskListInfo._tlfsLst.push_back(TaskLstFnStatus(0, 0, fn, 0, (void *)bufferID));
LVITEM item;
@ -119,18 +167,24 @@ int VerticalFileSwitcherListView::newItem(int bufferID, const TCHAR *fn)
item.pszText = (TCHAR *)::PathFindFileName(fn);
item.iItem = index;
item.iSubItem = 0;
item.iImage = 0;
ListView_InsertItem(_hSelf, &item);
ListView_SetItemState(_hSelf, index, LVIS_FOCUSED|LVIS_SELECTED, LVIS_FOCUSED|LVIS_SELECTED);
return index;
}
int VerticalFileSwitcherListView::closeItem(int bufferID)
void VerticalFileSwitcherListView::remove(int index)
{
bool found = false;
_taskListInfo._tlfsLst.erase(_taskListInfo._tlfsLst.begin() + index);
ListView_DeleteItem(_hSelf, index);
}
for (size_t i = 0 ; i < _taskListInfo._tlfsLst.size() ; i++)
int VerticalFileSwitcherListView::find(int bufferID) const
{
bool found = false;
size_t i = 0;
for (; i < _taskListInfo._tlfsLst.size() ; i++)
{
if (_taskListInfo._tlfsLst[i]._bufID == (void *)bufferID)
{
@ -138,5 +192,6 @@ int VerticalFileSwitcherListView::closeItem(int bufferID)
break;
}
}
return 0;
return (found?i:-1);
}

8
PowerEditor/src/WinControls/VerticalFileSwitcher/VerticalFileSwitcherListView.h

@ -34,8 +34,10 @@ public:
void setBgColour(int i) {
ListView_SetItemState(_hSelf, i, LVIS_SELECTED|LVIS_FOCUSED, 0xFF);
}
int newItem(int bufferID, const TCHAR *fn);
int newItem(int bufferID);
int closeItem(int bufferID);
void activateItem(int bufferID);
void setItemIconStatus(int bufferID);
protected:
TaskListInfo _taskListInfo;
@ -46,6 +48,10 @@ protected:
static LRESULT CALLBACK staticProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
return (((VerticalFileSwitcherListView *)(::GetWindowLongPtr(hwnd, GWL_USERDATA)))->runProc(hwnd, Message, wParam, lParam));
};
int find(int bufferID) const;
int add(int bufferID);
void remove(int index);
};

2
PowerEditor/src/lastRecentFileList.cpp

@ -69,7 +69,7 @@ void LastRecentFileList::updateMenu() {
//Then readd them, so everything stays in sync
TCHAR buffer[MAX_PATH];
for(int j = 0; j < _size; j++) {
BuildMenuFileName(buffer, 32, j, _lrfl.at(j)._name.c_str());
BuildMenuFileName(buffer, 100, j, _lrfl.at(j)._name.c_str());
::InsertMenu(_hMenu, _posBase + j, MF_BYPOSITION, _lrfl.at(j)._id, buffer);
}
}

Loading…
Cancel
Save