Tag: CopperSpice

CopperSpice Experiments – Pt. 10

The real problem with not creating The Four Holy Documents up front is that you tend to get distracted by bright shiny objects. As you learned in my last post I decided to give Diamond a Debian build script/process. I’ve done a few of these over the years and firmly believe both CopperSpice and Diamond won’t be picked up by any distros unless it has ready made Debian packaging. Ninja scripts aren’t going to cut it. One thing I’ve always managed to avoid is having to create an RPM. Always managed to dodge that bullet. I remember getting trapped in RPM Hell many times with SuSE and dial-up modem updates. When applying an RPM it could fail in such a…

CopperSpice Experiments – Pt. 9

Yeah, it’s been a while. Life keeps getting in the way of actually writing something here. I’m also migrating from BlueHost.com through HostGator.com to inMotion hosting service. That gets its own blog post once complete. Despite all of that, a lot of code has changed in the repo. Just be sure you choose the diamond-themes branch. Themes work really well. Not perfect, but really well. Perfect would be instant coloring. I can seemingly get that to happen even with large source files if the syntax is set on a tab before the file is loaded. It appears the QPlainTextEdit class is smart enough to only paint the visible rows first. The problem is I haven’t unwound the MainWindow class object…

CopperSpice Experiments – Pt. 8

This post is actually what pushed the other two posts out the door. I wanted to write this one, but unless you understood how I got here, it would make no sense. In adding EDT numeric keypad support I’ve run headlong into a Qt design flaw I haven’t seen in years. Mainly, I haven’t seen it because I’ve been doing touchscreen development so the keyboard input stuff hasn’t matter. QKeyEvent doesn’t have a method that returns a QKeySequence. You can only get an int for the key and the modifiers all monkey piled into another binary field. You can’t construct a QKeySequence from this because order is important when comparing strings. If you just try to thump the modifiers in…

CopperSpice Experiments – Pt. 7

What started out as “a few tweaks” has ended up becoming something of a gut and redevelop. I’m not saying there was anything wrong with the code, it just didn’t lend itself to easily doing what I want. Now that I’ve spent quite a bit of time with it I can understand how it happened. Barb can feel free to correct me if I’m wrong, but it looks like Diamond was originally developed as a single file editor and tabs got added in later. Everything was kind of tightly coupled to MainWindow. Since this isn’t my child I have no qualms about genetically altering it. :D One of the big things I learned, before swapping out the incredibly slow drive…

CopperSpice Experiments – Pt. 6

Sorry I haven’t written in a while. Life has been busy and I’ve been hacking away at Diamond in my “spare” time. I guess I need to catch this post series up. I used GitKraken to clone the repository into ~/Projects/diamond. Then I created ~/Projects/diamond_build and ~/Projects/diamond_debug. Diamond had an additional dependency of hunspell. sudo apt install libhunspell-dev After that it was time to build. Change to the build directory and type the following: Yeah! We are ready to build! I do need to tell you that if you just pulled down CopperSpice to a Ubuntu 20.04 LTS system, there is a shiny new dependency for the library build. You need to install that and rebuild. Well, I rebuilt because…