This is a read-only archive of the old Scratch 1.x Forums.
Try searching the current Scratch discussion forums.

#351 2012-05-25 14:11:13

blob8108
Scratcher
Registered: 2007-06-25
Posts: 1000+

Re: Block Files

dreamod wrote:

blob8108 wrote:

dreamod wrote:


I tried uploading a test block I got 'block already exists'. Did you upload one by the name of 'test block'?
full block spec: ('All' 'control' ('test block' #- #testBlock))

Ah, that would be because I'm a moron. Changed a variable name, and forgot to update the check-y SQL query.  tongue

In conclusion: there must be a block with an empty 'name' field. How curious!

Anyway, does it work now?  smile

It doesn't work.

...so it doesn't.  tongue

So, how far has the website gotten? You can upload blocks, but you can't browse blocks, correct? I could write the about page. Assuming the about page is about the block library and how blocks work?

I think you'll have to ask Sparks — I'm really not the person to ask  tongue


Things I've made: kurt | scratchblocks2 | this cake

Offline

 

#352 2012-05-25 14:14:01

blob8108
Scratcher
Registered: 2007-06-25
Posts: 1000+

Re: Block Files

blob8108 wrote:

dreamod wrote:

It doesn't work.

...so it doesn't.  tongue

Ah! Got it. (I think  tongue ) Your arg was called "block_name", not "name". Should work now!  smile

Last edited by blob8108 (2012-05-25 14:14:12)


Things I've made: kurt | scratchblocks2 | this cake

Offline

 

#353 2012-05-25 16:05:02

dreamod
New Scratcher
Registered: 2012-01-22
Posts: 100+

Re: Block Files

blob8108 wrote:

blob8108 wrote:

dreamod wrote:

It doesn't work.

...so it doesn't.  tongue

Ah! Got it. (I think  tongue ) Your arg was called "block_name", not "name". Should work now!  smile

great, I got an upload successful. Remember to delete the 'test' blocks, they have 'test' in the comment.

Offline

 

#354 2012-05-25 16:05:49

blob8108
Scratcher
Registered: 2007-06-25
Posts: 1000+

Re: Block Files

dreamod wrote:

Remember to delete the 'test' blocks, they have 'test' in the comment.

Again: you'll have to ask Sparks; I can't access the database  tongue


Things I've made: kurt | scratchblocks2 | this cake

Offline

 

#355 2012-05-25 16:13:54

dreamod
New Scratcher
Registered: 2012-01-22
Posts: 100+

Re: Block Files

blob8108 wrote:

dreamod wrote:

Remember to delete the 'test' blocks, they have 'test' in the comment.

Again: you'll have to ask Sparks; I can't access the database  tongue

oh, right.  smile

Offline

 

#356 2012-05-26 03:18:25

dreamod
New Scratcher
Registered: 2012-01-22
Posts: 100+

Re: Block Files

offtopic: here's a dev menu I made

Code:

'From MIT Squeak 0.9.4 (June 1, 2003) [No updates present.] on 26 May 2012 at 9:14:32 am'!
Morph subclass: #AllWindows
    instanceVariableNames: 'windowColors '
    classVariableNames: ''
    poolDictionaries: ''
    category: 'Scratch-UI-Support'!

!AllWindows methodsFor: 'window handling' stamp: 'dreamod 5/25/2012 18:57'!
collapseWindows
    self windowsDo: #collapse! !

!AllWindows methodsFor: 'window handling' stamp: 'dreamod 5/25/2012 18:56'!
comeToFront
    self windowsDo: #comeToFront! !

!AllWindows methodsFor: 'window handling' stamp: 'dreamod 5/25/2012 18:54'!
delete
    self windowsDo: #delete! !

!AllWindows methodsFor: 'window handling' stamp: 'dreamod 5/25/2012 18:56'!
sendToBack
    self windowsDo: #sendToBack! !

!AllWindows methodsFor: 'window handling' stamp: 'dreamod 5/25/2012 19:03'!
setWindowColor
    | t1 |
    t1 _ ColorPickerMorph new
        sourceHand: self activeHand;
        target: self;
        selector: #setWindowColor:;
        openInWorld.! !

!AllWindows methodsFor: 'window handling' stamp: 'dreamod 5/25/2012 19:03'!
setWindowColor: t1
    windowColors _ t1.
    World submorphs do: [:t2 | (t2 isKindOf: SystemWindow) ifTrue: [t2 setWindowColor: t1]].! !

!AllWindows methodsFor: 'window handling' stamp: 'dreamod 5/25/2012 18:54'!
windowsDo: t1 
    World submorphs do: [:t2 | (t2 isKindOf: SystemWindow)
            ifTrue: [t2 perform: t1]]! !

!Browser class methodsFor: 'class initialization' stamp: 'dreamod 5/25/2012 22:42'!
newClass: t1
    | t2 t3 |
    t2 _ StringDialog ask: 'New Class Name?'.
    t2 = #cancelled ifTrue: [^ self].
    t3 _ 'Object subclass: #' , t2 , '
    instanceVariableNames: ''instVarName1 instVarName2''
    classVariableNames: ''ClassVarName1 ClassVarName2''
    poolDictionaries: ''''
    category: ''' ,     t1 popUpOwner contents asString , ''''.
    (Smalltalk includes: t2 asSymbol) ifTrue: [^ self inform: 'class exists'].
    Compiler evaluate: t3 logged: true.
    self fullOnClass: (Smalltalk at: t2 asSymbol).! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'dreamod 5/25/2012
17:34'!
createMenuPanel
    | t1 t2 |
    menuPanel _ AlignmentMorph new color: Color transparent;
             centering: #center;
             inset: 0;
             height: 0.
    self addShortcutButtonsTo: menuPanel.
    t1 _ #((#File #fileMenu:) (#Edit #editMenu:)(#Help #helpMenu:) (#Dev #devMenu:) ).
    t1 do: 
        [:t3 | 
        t2 _ ScratchMenuTitleMorph new contents: (t3 at: 1) localized;
                 target: self selector: (t3 at: 2).
        menuPanel addMorphBack: t2.
        #devMenu: = (t3 at: 2) ifFalse: [menuPanel addMorphBack: (Morph new color: Color transparent;
                 extent: 12 @ 5)]].
    topPane addMorph: menuPanel! !
!ScratchFrameMorph methodsFor: 'dev items' stamp: 'dreamod 5/25/2012 17:33'!
browseIt
    | t1 |
    t1 _ (StringDialog ask: 'Search: ') asSymbol.
    (Smalltalk includesKey: t1)
        ifTrue: [((Smalltalk at: t1) class asString contains: 'class')
                ifTrue: [^ Browser fullOnClass: (Smalltalk at: t1)]].
    Smalltalk browseAllImplementorsOf: t1! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'Dreamod 5/4/2012 17:07'!
browser

Browser openBrowser

! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'Dreamod 5/4/2012 18:04'!
changes

    World activeHand openChangeSorter: 1! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'dreamod 5/25/2012 22:20'!
classMenu

    |menu packages pkg pkgMenu catMenu |
    packages _ Dictionary new.
    SystemOrganization categories asSortedCollection do: [:cat |
        pkg _ (cat asString findTokens: #( $- )) first.
        (packages includesKey: pkg)
            ifFalse: [ packages at: pkg put: OrderedCollection new].
        (packages at: pkg) add: cat].

    menu _ MenuMorph new.
    packages keys asSortedCollection do: [:eachPkg |
        pkgMenu _ MenuMorph new.
        (packages at: eachPkg) asSortedCollection do: [: cat |
            catMenu _ self menuForCategory: cat.
            pkgMenu add: cat
                    subMenu: catMenu ].
        "pkgMenu add: (self wordsFrom: eachPkg asString)
                subMenu: pkgMenu."
        menu add: eachPkg subMenu: pkgMenu ].



"
    list _ SystemOrganization categories asSortedCollection.
    list do: [:each|
        menu add: (self wordsFrom: each asString) subMenu: (self menuForCategory: each)].
"
    ^ menu! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'dreamod 5/25/2012 22:44'!
devMenu: t1 
    | t2 t3 t4 |
    t2 _ MenuMorph new defaultTarget: self.
    fillScreenFlag
        ifTrue: [t2 add: 'Turn Fill Screen Off' action: #fillScreenOff]
        ifFalse: [t2 add: 'Turn Fill Screen On' action: #fillScreenOn].
    (Preferences valueOfFlag: #noviceMode) not
        ifTrue: [t2 add: 'Disable Halos' action: #disableHalos]
        ifFalse: [t2 add: 'Enable Halos' action: #enableHalos].
    t2 addLine.
    t2 add: 'Open...' subMenu: (MenuMorph new defaultTarget: self;
         add: 'Browser' action: #browser;
         add: 'Workspace' action: #workspace;
         add: 'File List' action: #fileList;
         add: 'Transcript' action: #transcript;
         add: 'Changes' action: #changes).
    t2 add: 'Search...' subMenu: (MenuMorph new defaultTarget: self;
         add: 'Implementors' action: #implementors;
         add: 'Senders' action: #senders;
         add: 'Browse It' action: #browseIt;
         add: 'Selectors' action: #selectors;
         add: 'Strings' action: #strings;
         add: 'Source Code' action: #sourceCode).
    t3 _ MenuMorph new defaultTarget: self.
    World submorphs do: [:t6 | (t6 isKindOf: SystemWindow)
            ifTrue: [t3 add: (self labelFor: t6)
                    subMenu: (MenuMorph new defaultTarget: t6;
                         add: 'close' action: #delete;
                         add: 'come to front' action: #comeToFront;
                         add: 'go to back' action: #sendToBack;
                         addLine;
                         add: t6 collapseState action: #collapseOrExpand;
                         add: 'set color...' action: #setWindowColor)]].
    t3 addLine.
    t3 add: 'All' subMenu: (MenuMorph new defaultTarget: AllWindows new;
         add: 'close all' action: #delete;
         add: 'bring all to front' action: #comeToFront;
         add: 'send all to back' action: #sendToBack;
         addLine;
         add: 'collapse all windows' action: #collapseWindows;
         add: 'set all window colors...' action: #setWindowColor).
    t2 add: 'Windows...' subMenu: t3.
    t4 _ self classMenu.
    t2 add: 'Classess...' subMenu: t4.
    t2 addLine.
    t2 add: 'Save Image For End-User' action: #saveImageForEndUser.
    t2 add: 'Quick Save' action: #quickSave.
    t2 popUpAt: t1 bottomLeft + (0 @ 10) forHand: World activeHand! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'jm 4/14/2009 09:56'!
fillScreenOff
    "Stop filling the entire screen. Useful during development."


    Smalltalk fullScreenMode: false.
    World restoreDisplay.

    fillScreenFlag _ false.
    self isSticky: false.
    self extent: Display extent - 50.
    UseErrorCatcher _ false.
    Preferences disable: #noviceMode.
    Preferences enable: #warnIfNoSourcesFile.
    Preferences enable: #warnIfNoChangesFile.
    Preferences insertionPointColor: (Color r: 0.4 g: 1.0 b: 0.0).
    Preferences textHighlightColor: (Color r: 0.4 g: 1.0 b: 0.0).
! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'jm 4/14/2009 09:55'!
fillScreenOn
    "Start filling the entire screen and being sticky. Also configure a few other things for the end user such as turning off halos and the control menu (noviceMode) and making sure that error catching is enabled."

    TakeOverScreen ifTrue: [
        Smalltalk fullScreenMode: true.
        World restoreDisplay].

    fillScreenFlag _ true.
    self position: 0@0.
    self isSticky: true.
    self comeToFront.
    UseErrorCatcher _ true.
    Sensor useOSEvents: true.
    Preferences enable: #noviceMode.
    Preferences disable: #warnIfNoSourcesFile.
    Preferences disable: #warnIfNoChangesFile.
    Preferences insertionPointColor: (Color r: 0.353 g: 0.607 b: 0.788).
    Preferences textHighlightColor: (Color r: 0.353 g: 0.607 b: 0.788).
    self updateProjectName.
    self step.
! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'dreamod 5/10/2012 18:17'!
fullMode
    Smalltalk fullScreenMode: true! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'dreamod 5/25/2012 22:45'!
implementors
    | t1 |
    t1 _ (StringDialog ask: 'Search: ') asSymbol.
    t1 = '' ifTrue: [^ self].
    Smalltalk browseAllImplementorsOf: t1! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'dreamod 5/25/2012 18:36'!
labelFor: t1 
    (t1 isKindOf: AllWindows) ifTrue: [^ 'All'].
    (t1 model isKindOf: Workspace)
        ifTrue: [^ t1 label].
    (t1 model isKindOf: Browser)
        ifTrue: [^ 'Browser - ' , t1 model doItReceiver asString].
    (t1 model isKindOf: Debugger)
        ifTrue: [^ 'Debugger - ' , (t1 label size: 15)].
    (t1 model isKindOf: FileList)
        ifTrue: [^ 'File List On ' , t1 label].
    (t1 model isKindOf: DualChangeSorter)
        ifTrue: [^ 'Dual Change Sorter'].
    (t1 model isKindOf: ChangeSorter)
        ifTrue: [^ 'Simple Change Sorter - ' , t1 model currentCngSet].
    ^ t1 label! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'dreamod 5/25/2012 22:30'!
menuForCategory: t1 
    | t2 t3 |
    t2 _ MenuMorph new defaultTarget: Browser.
    t2 add: 'new...' selector: #newClass: argument: t2.
    t3 _ SystemOrganization listAtCategoryNamed: t1.
    t3 asSortedCollection do: [:t4 | t2
            add: t4
            selector: #fullOnClass:
            argument: (Smalltalk classNamed: t4)].
    ^ t2! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'dreamod 5/25/2012 22:09'!
newClass
    Browser fullOnClass: ScratchFrameMorph! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'Dreamod 5/4/2012 19:45'!
quickSave

Smalltalk snapshot: true andQuit: false! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'jm 6/2/2009 18:54'!
saveImageForEndUser

    (self confirm: '
Close non-Scratch windows and save this
image in end-user (fillScreen) mode?') ifFalse: [^ self].

    ScratchFrameMorph isXO ifTrue: [Preferences useLargeFonts].

    self setLanguage: 'en'.
    World submorphs do: [:m |
        (m isKindOf: SystemWindow) ifTrue: [m delete]].
    self clearStage.

    Display newDepth: 32.
    self fillScreenOn.
    World doOneCycleNow.
    Smalltalk snapshot: true andQuit: true.
    self startup.
    Sensor useOSEvents: true.
! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'dreamod 5/25/2012 22:45'!
search
    | t1 |
    t1 _ (StringDialog ask: 'Search: ') asSymbol.
    (Smalltalk includesKey: t1)
        ifTrue: [((Smalltalk at: t1) class asString contains: 'class')
                ifTrue: [^ Browser fullOnClass: (Smalltalk at: t1)]].
        t1 = '' ifTrue: [^ self].
    Smalltalk browseAllImplementorsOf: t1! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'dreamod 5/25/2012 22:45'!
selectors
    | t1 |
    t1 _ StringDialog ask: 'Search Entire Source Code'.
    t1 = '' ifTrue: [^ self].
    Smalltalk browseMethodsWhoseNamesContain: t1! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'dreamod 5/25/2012 22:45'!
senders
    | t1 |
    t1 _ (StringDialog ask: 'Search: ') asSymbol.
    t1 = '' ifTrue: [^ self].
    Smalltalk browseAllCallsOn: t1! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'dreamod 5/25/2012 22:45'!
sourceCode
    | t1 |
    t1 _ StringDialog ask: 'Search Entire Source Code'.
    t1 = '' ifTrue: [^ self].
    Smalltalk browseMethodsWithSourceString: t1! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'dreamod 5/25/2012 22:45'!
strings
    | t1 |
    t1 _ StringDialog ask: 'Search Entire Source Code'.
    t1 = '' ifTrue: [^ self].
    Smalltalk browseMethodsWithString: t1! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'Dreamod 5/4/2012 17:22'!
transcript

Transcript open! !

!ScratchFrameMorph methodsFor: 'dev items' stamp: 'Dreamod 5/4/2012 17:07'!
workspace

Workspace open! !

Offline

 

#357 2012-05-26 07:44:34

Hardmath123
Scratcher
Registered: 2010-02-19
Posts: 1000+

Re: Block Files

Hi. I'm waiting. Desperately.  smile


Hardmaths-MacBook-Pro:~ Hardmath$ sudo make $(whoami) a sandwich

Offline

 

#358 2012-05-26 07:53:30

dreamod
New Scratcher
Registered: 2012-01-22
Posts: 100+

Re: Block Files

Hardmath123 wrote:

Hi. I'm waiting. Desperately.  smile

I'm going to try to 'copy' one of LibreOffices UTI types and modify it.

Offline

 

#359 2012-05-26 11:06:35

Hardmath123
Scratcher
Registered: 2010-02-19
Posts: 1000+

Re: Block Files

Is that like the Spanish OpenOffice?  tongue


Hardmaths-MacBook-Pro:~ Hardmath$ sudo make $(whoami) a sandwich

Offline

 

#360 2012-05-26 11:38:14

dreamod
New Scratcher
Registered: 2012-01-22
Posts: 100+

Re: Block Files

Hardmath123 wrote:

Is that like the Spanish OpenOffice?  tongue

No. not really. Besides i've decided I'm trying a different file format to base it off of.  Maybe I'll try squeak images again.

Offline

 

#361 2012-05-26 11:39:31

blob8108
Scratcher
Registered: 2007-06-25
Posts: 1000+

Re: Block Files

Hardmath123 wrote:

Is that like the Spanish OpenOffice?  tongue

I think LibreOffice is the "new" OpenOffice -- they forked it and made it better. I think most Linuxes have LibreOffice instead now.  smile


Things I've made: kurt | scratchblocks2 | this cake

Offline

 

#362 2012-05-26 11:55:25

dreamod
New Scratcher
Registered: 2012-01-22
Posts: 100+

Re: Block Files

blob8108 wrote:

Hardmath123 wrote:

Is that like the Spanish OpenOffice?  tongue

I think LibreOffice is the "new" OpenOffice -- they forked it and made it better. I think most Linuxes have LibreOffice instead now.  smile

Well, I have a mac.  smile 
I'm still trying to fix the UTI types.

Offline

 

#363 2012-05-26 12:03:12

dreamod
New Scratcher
Registered: 2012-01-22
Posts: 100+

Re: Block Files

Here's my progress:

Code:

kMDItemContentCreationDate     = 2012-05-26 18:00:23 +0200
kMDItemContentModificationDate = 2012-05-26 18:01:34 +0200
kMDItemContentType             = "com.dreamod.blockimporter.block"
kMDItemContentTypeTree         = (
    "com.dreamod.blockimporter.block",
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDisplayName             = "go to x- () y- ().block"
kMDItemFSContentChangeDate     = 2012-05-26 18:01:34 +0200
kMDItemFSCreationDate          = 2012-05-26 18:00:23 +0200
kMDItemFSCreatorCode           = "R*ch"
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = 0
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = 0
kMDItemFSLabel                 = 0
kMDItemFSName                  = "go to x- () y- ().block"
kMDItemFSNodeCount             = 0
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 501
kMDItemFSSize                  = 366
kMDItemFSTypeCode              = "TEXT"
kMDItemKind                    = "Block Importer Block file"
kMDItemLastUsedDate            = 2012-05-26 18:02:01 +0200
kMDItemUsedDates               = (
    "2012-05-26 00:00:00 +0200"
)

Offline

 

#364 2012-05-26 23:07:09

Hardmath123
Scratcher
Registered: 2010-02-19
Posts: 1000+

Re: Block Files

This line is amazing:
kMDItemContentType             = "com.dreamod.blockimporter.block"

How did you do that?!


Hardmaths-MacBook-Pro:~ Hardmath$ sudo make $(whoami) a sandwich

Offline

 

#365 2012-05-27 05:27:12

dreamod
New Scratcher
Registered: 2012-01-22
Posts: 100+

Re: Block Files

Hardmath123 wrote:

This line is amazing:
kMDItemContentType             = "com.dreamod.blockimporter.block"

How did you do that?!

I messed around with the Exported UTI type in the plist for the block importer application.

Offline

 

#366 2012-05-27 05:51:33

Hardmath123
Scratcher
Registered: 2010-02-19
Posts: 1000+

Re: Block Files

dreamod wrote:

Hardmath123 wrote:

This line is amazing:
kMDItemContentType             = "com.dreamod.blockimporter.block"

How did you do that?!

I messed around with the Exported UTI type in the plist for the block importer application.

So what does your .plist look like now?


Hardmaths-MacBook-Pro:~ Hardmath$ sudo make $(whoami) a sandwich

Offline

 

#367 2012-05-27 06:35:58

dreamod
New Scratcher
Registered: 2012-01-22
Posts: 100+

Re: Block Files

Hardmath123 wrote:

dreamod wrote:

Hardmath123 wrote:

This line is amazing:
kMDItemContentType             = "com.dreamod.blockimporter.block"

How did you do that?!

I messed around with the Exported UTI type in the plist for the block importer application.

So what does your .plist look like now?

Well I changed it around and now it looks like this. I have a serious problem with my mac now and I had to start in safe boot. Now I don't have sound, third party fonts, camera access, and apparently terminal is acting a bit weird too. Any advice? Anyway, here's the plist.

Code:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>NSMainNibFile</key>
    <string>MainMenu.nib</string>
    <key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>LSItemContentTypes</key>
            <array>
                <string>com.dreamod.block</string>
            </array>
            <key>CFBundleTypeExtensions</key>
            <array>
                <string>block</string>
            </array>
            <key>CFBundleTypeIconFile</key>
            <string>BlockFiles.icns</string>
            <key>CFBundleTypeName</key>
            <string>Block Importer Block file</string>
            <key>CFBundleTypeOSTypes</key>
            <array>
                <string>STim</string>
            </array>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
        </dict>
        <dict>
            <key>CFBundleTypeExtensions</key>
            <array>
                <string>bip</string>
            </array>
            <key>CFBundleTypeIconFile</key>
            <string>BlockImporterProject.icns</string>
            <key>CFBundleTypeName</key>
            <string>Block Importer Sprite File</string>
            <key>CFBundleTypeOSTypes</key>
            <array>
                <string>STqs</string>
            </array>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>LSTypeIsPackage</key>
            <true/>
            <key>NSPersistentStoreTypeKey</key>
            <string>XML</string>
        </dict>
        <dict>
            <key>CFBundleTypeExtensions</key>
            <array>
                <string>bip</string>
            </array>
            <key>CFBundleTypeIconFile</key>
            <string>BlockImporterProject.icns</string>
            <key>CFBundleTypeName</key>
            <string>Block Importer Project File</string>
            <key>CFBundleTypeOSTypes</key>
            <array>
                <string>STsb</string>
            </array>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>LSTypeIsPackage</key>
            <false/>
            <key>NSPersistentStoreTypeKey</key>
            <string>XML</string>
        </dict>
    </array>
    <key>CFBundleExecutable</key>
    <string>Block Importer</string>
    <key>CFBundleGetInfoString</key>
    <string>Block Importer ~ Dreamod</string>
    <key>CFBundleIconFile</key>
    <string>BlockImporterApp.icns</string>
    <key>CFBundleIdentifier</key>
    <string>com.dreamod.blockImporter</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>Block Importer</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>Block Importer</string>
    <key>CFBundleSignature</key>
    <string>Dreamod</string>
    <key>CFBundleVersion</key>
    <string>3.8.14b7y</string>
    <key>CGDisableCoalescedUpdates</key>
    <true/>
    <key>LSBackgroundOnly</key>
    <false/>
    <key>SqueakBrowserMouseCmdButton1</key>
    <integer>3</integer>
    <key>SqueakBrowserMouseCmdButton2</key>
    <integer>3</integer>
    <key>SqueakBrowserMouseCmdButton3</key>
    <integer>2</integer>
    <key>SqueakBrowserMouseControlButton1</key>
    <integer>1</integer>
    <key>SqueakBrowserMouseControlButton2</key>
    <integer>3</integer>
    <key>SqueakBrowserMouseControlButton3</key>
    <integer>2</integer>
    <key>SqueakBrowserMouseNoneButton1</key>
    <integer>1</integer>
    <key>SqueakBrowserMouseNoneButton2</key>
    <integer>3</integer>
    <key>SqueakBrowserMouseNoneButton3</key>
    <integer>2</integer>
    <key>SqueakBrowserMouseOptionButton1</key>
    <integer>2</integer>
    <key>SqueakBrowserMouseOptionButton2</key>
    <integer>3</integer>
    <key>SqueakBrowserMouseOptionButton3</key>
    <integer>2</integer>
    <key>SqueakBrowserUnTrustedDirectory</key>
    <string>~/Library/Preferences/Squeak/Internet/My Squeak/</string>
    <key>SqueakEncodingType</key>
    <string>UTF-8</string>
    <key>SqueakFloatingWindowGetsFocus</key>
    <true/>
    <key>SqueakImageName</key>
    <string>Block Importer.image</string>
    <key>SqueakMaxHeapSize</key>
    <integer>536870912</integer>
    <key>SqueakMouseCmdButton1</key>
    <integer>3</integer>
    <key>SqueakMouseCmdButton2</key>
    <integer>3</integer>
    <key>SqueakMouseCmdButton3</key>
    <integer>2</integer>
    <key>SqueakMouseControlButton1</key>
    <integer>1</integer>
    <key>SqueakMouseControlButton2</key>
    <integer>3</integer>
    <key>SqueakMouseControlButton3</key>
    <integer>2</integer>
    <key>SqueakMouseNoneButton1</key>
    <integer>1</integer>
    <key>SqueakMouseNoneButton2</key>
    <integer>3</integer>
    <key>SqueakMouseNoneButton3</key>
    <integer>2</integer>
    <key>SqueakMouseOptionButton1</key>
    <integer>2</integer>
    <key>SqueakMouseOptionButton2</key>
    <integer>3</integer>
    <key>SqueakMouseOptionButton3</key>
    <integer>2</integer>
    <key>SqueakPluginsBuiltInOrLocalOnly</key>
    <true/>
    <key>SqueakUIFlushPrimaryDeferNMilliseconds</key>
    <integer>20</integer>
    <key>SqueakUIFlushSecondaryCheckForPossibleNeedEveryNMilliseconds</key>
    <integer>20</integer>
    <key>SqueakUIFlushSecondaryCleanupDelayMilliseconds</key>
    <integer>25</integer>
    <key>SqueakUIFlushUseHighPercisionClock</key>
    <true/>
    <key>SqueakWindowAttribute</key>
    <data>ggAAHw==</data>
    <key>SqueakWindowHasTitle</key>
    <true/>
    <key>SqueakWindowType</key>
    <integer>6</integer>
</dict>
</plist>

Offline

 

#368 2012-05-27 06:55:50

Hardmath123
Scratcher
Registered: 2010-02-19
Posts: 1000+

Re: Block Files

Huh. No idea how that works (you don't even have the exported UTI key in there) but if it works, it works!  big_smile

So, can you post some .bip files somewhere so that I can see if the QLP can be made now, please? Thanks!  smile


Hardmaths-MacBook-Pro:~ Hardmath$ sudo make $(whoami) a sandwich

Offline

 

#369 2012-05-27 07:02:57

dreamod
New Scratcher
Registered: 2012-01-22
Posts: 100+

Re: Block Files

Hardmath123 wrote:

Huh. No idea how that works (you don't even have the exported UTI key in there) but if it works, it works!  big_smile

So, can you post some .bip files somewhere so that I can see if the QLP can be made now, please? Thanks!  smile

Acually not really.
1st My mac is having some problems now so things aren't working properly. I can't recheck the block file using mdls so I have no idea what it's set to right now. The plist doesn't have that data but it had it once.

2nd The extension is .block not .bip . .bip stands for Block Importer Project, since it would have obsolete blocks a new extension would be good.

Offline

 

#370 2012-05-27 07:58:13

dreamod
New Scratcher
Registered: 2012-01-22
Posts: 100+

Re: Block Files

My mac works properly now, here's the mdls thing:

Code:

kMDItemFSContentChangeDate = 2012-05-26 17:56:34 +0200
kMDItemFSCreationDate      = 2012-05-26 17:56:34 +0200
kMDItemFSCreatorCode       = "R*ch"
kMDItemFSFinderFlags       = 0
kMDItemFSHasCustomIcon     = 0
kMDItemFSInvisible         = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery      = 0
kMDItemFSLabel             = 0
kMDItemFSName              = "hi.block"
kMDItemFSNodeCount         = 0
kMDItemFSOwnerGroupID      = 20
kMDItemFSOwnerUserID       = 501
kMDItemFSSize              = 329
kMDItemFSTypeCode          = "TEXT"

Offline

 

#371 2012-05-27 08:02:55

Hardmath123
Scratcher
Registered: 2010-02-19
Posts: 1000+

Re: Block Files

please upload a dummy .block file to dropbox/Google Docs so I can take a look.  smile


Hardmaths-MacBook-Pro:~ Hardmath$ sudo make $(whoami) a sandwich

Offline

 

#372 2012-05-27 08:10:43

dreamod
New Scratcher
Registered: 2012-01-22
Posts: 100+

Re: Block Files

Hardmath123 wrote:

please upload a dummy .block file to dropbox/Google Docs so I can take a look.  smile

I put one up on  mediafire here: http://www.mediafire.com/?6581nf78kn1ekhp.
here's the mlds code for it:

Code:

kMDItemContentCreationDate     = 2012-04-28 18:47:07 +0200
kMDItemContentModificationDate = 2012-04-28 18:47:07 +0200
kMDItemContentType             = "dyn.ah62d4um4ge80e5dtqrzu"
kMDItemContentTypeTree         = (
    "com.apple.traditional-mac-plain-text",
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDisplayName             = "hide cursor.block"
kMDItemFSContentChangeDate     = 2012-04-28 18:47:07 +0200
kMDItemFSCreationDate          = 2012-04-28 18:47:07 +0200
kMDItemFSCreatorCode           = "R*ch"
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = 0
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = 0
kMDItemFSLabel                 = 0
kMDItemFSName                  = "hide cursor.block"
kMDItemFSNodeCount             = 0
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 501
kMDItemFSSize                  = 399
kMDItemFSTypeCode              = "TEXT"
kMDItemKind                    = "Scratch Block File"
kMDItemLastUsedDate            = 2012-04-28 18:47:07 +0200
kMDItemUsedDates               = (
    "2012-04-28 00:00:00 +0200"
)

by the way, you might wanna type this code and do it if you use the block
Cursor normal show.

Offline

 

#373 2012-05-27 08:11:45

Hardmath123
Scratcher
Registered: 2010-02-19
Posts: 1000+

Re: Block Files

...

kMDItemContentType isn't your dream one anymore...

sad


Hardmaths-MacBook-Pro:~ Hardmath$ sudo make $(whoami) a sandwich

Offline

 

#374 2012-05-27 08:19:01

dreamod
New Scratcher
Registered: 2012-01-22
Posts: 100+

Re: Block Files

Hardmath123 wrote:

...

kMDItemContentType isn't your dream one anymore...

sad

I think I'll keep trying with the Exported UTI Types in the plist, whatever I did it must've been good. I found a preference pane in system preferences that I can use to check file types and UTI types.

Offline

 

#375 2012-05-27 08:22:00

Hardmath123
Scratcher
Registered: 2010-02-19
Posts: 1000+

Re: Block Files


Hardmaths-MacBook-Pro:~ Hardmath$ sudo make $(whoami) a sandwich

Offline

 

Board footer